Methods and apparatus for locking an object using an efficient combination
spinning and blocking process are disclosed. According to one aspect of
the present invention, a method for acquiring ownership of an object in an
object-based environment using a current thread includes determining when
the object is owned by another thread, and locking the object when it is
determined that the object is not owned by the another thread. A first
spinning process, which is implemented when it is determined that the
object is owned by the another thread, is arranged such that the current
thread spins for up to a predetermined number of spin cycles associated
with the current thread and the object. The predetermined number of spin
cycles is determined using historical information, and is not based upon
an overall system specification. When it is determined that the object has
not been locked by the current thread during the first spinning process, a
first blocking process is implemented.
De methodes en de apparaten om een voorwerp te sluiten dat een efficiënte combinatie gebruikt die en het blokkeren proces onthuld spint worden. Volgens één aspect van de onderhavige uitvinding, omvat een methode om eigendom van een voorwerp in een op voorwerp-gebaseerd milieu te verwerven dat een huidige draad gebruikt het bepalen wanneer het voorwerp door een andere draad wordt bezeten, en sluiten het voorwerp wanneer men bepaalt dat het voorwerp niet door de een andere draad wordt bezeten. Een eerste het spinnen proces, dat wordt uitgevoerd wanneer men bepaalt dat het voorwerp door de een andere draad wordt bezeten, wordt geschikt dusdanig dat de huidige draad voor tot een vooraf bepaald aantal rotatiecycli verbonden aan de huidige draad en het voorwerp spint. Het vooraf bepaalde aantal rotatiecycli wordt bepaald gebruikend historische informatie, en is niet gebaseerd op een algemene systeemspecificatie. Wanneer men bepaalt dat het voorwerp niet door de huidige draad tijdens het eerste het spinnen proces is gesloten, wordt een eerste het blokkeren proces uitgevoerd.