1. A method of optimizing memory synchronization through software in a multi-threaded computer system using a reader-initiated memory synchronization process, the method comprising steps of: executing in a first processor at least one computational activity requesting an exclusive access to the shared memory; and using a multi-field lock associated with a shared memory to obtain the exclusive access to the shared memory, wherein obtaining the exclusive access comprises: inspecting the multi-field lock to determine whether the multi-field lock is reserved for the first processor; and wherein when the multi-field lock is not reserved for exclusive use by the first processor, the processor performs the following steps: wherein when the multi-field lock is reserved by a second at least one processor, synchronizing the shared memory by the second processor; updating the multi-field lock reservation; and performing instruction synchronization for the first processor.