The invention discloses a multi-thread
software dynamic upgrading method based on asynchronous check points. The method includes the steps that based on a
dynamic instrumentation mode, key codes are arranged in a source program in operation in an
instrumentation mode at a binary level, not a
source code level, so that upgrading does not need to depend on a specific
compiler; based on an asynchronous
check point algorithm, it can be guaranteed that all threads are in a blocked state before dynamic upgrading, so that all the threads are updated in a one-off mode, and expenditure caused by new and old version maintenance is avoided; a mode of binary
system rewriting is adopted for function indirect skipping, and functions to be updated are upgraded, wherein the functions are not executed; a stack reconstruction mode can be used for upgrading functions to be updated in execution, so that in the dynamic upgrading process, unexpected
waiting time which is caused by loop body and main function updating and others are eliminated. The loss, which is caused by
downtime due to version maintenance, of applications and services (such as an electronic
payment system) high in reliability requirement is reduced to the minimum, and cost caused by additional arrangement of redundancy hardware is reduced.