1. In a network device with a processor that runs multiple software threads for a software application that needs an update or patch, a method for updating the software while attempting to achieve minimal service disruption, the method comprising: installing at least one new function; modifying at least one existing function to point to a synchronization code, wherein the synchronization code indicates whether the multiple software threads use the at least one new function or the at least one existing function; synchronizing software threads in the network device; based on the synchronization code indicating that the synchronization of the software threads is not complete, using, by the multiple software threads, the at least one existing function; and based on the synchronization code indicating that the synchronization of the software threads is complete, using, by the multiple software threads, the at least one new function, wherein the multiple software threads continually run on the network device during the synchronization.