THREAD SYNCHRONIZATION === ============================================================================= - If there is a SynchronizationSupervisor::BeginXXXUpdate() method, then this method should be used to lock on a XXX variable type instead of the lock statement - for example, if there is a BeginDescriptorUpdate() method, then you should use this method to lock on a Descriptor typed variable - If there is no associated method in the SynchronizationSupervisor class, then the lock statement should be used instead - Previous two recomendations were introduced to ensure the coding consistency in the thread synchronization on types being frequently passed as arguments