A spin lock for shared memory is disclosed. A lock flag for a lock on a
memory section is attempted to be set. If the lock flag is successfully
set, the lock on the memory section is held so that the memory section may
be processed. Upon being ready to release the lock on the memory section,
and in response to determining that one or more units are spinning for the
lock on the memory section, one of the spinning units is selected, and a
spin flag for the selected unit is reset. If no units are spinning for the
lock, however, the lock flag for the lock is reset.
Una serratura di rotazione per la memoria comune è rilevata. Una bandierina della serratura per una serratura su una sezione di memoria è tentata per essere regolata. Se la bandierina della serratura è regolata con successo, la serratura sulla sezione di memoria è tenuta in moda da potere procedere la sezione di memoria. Su essere aspetti per liberare la serratura sulla sezione di memoria ed in risposta a determinare che una o più unità stiano filando per la serratura sulla sezione di memoria, una delle unità di filatura è selezionata e una bandierina di rotazione per l'unità selezionata è ripristinata. Se nessun'unità sta filando per la serratura, tuttavia, la bandierina della serratura per la serratura è ripristinata.