Relaxed lock protocol

   
   

An object-oriented compiler/interpreter allocates monitor records for use in implementing synchronized operations on objects. When a synchronization operation is to be performed on an object, a thread that is to perform the operation "inflates" the object's monitor by placing into its header a pointer to the monitor record as well as an indication of the monitor's inflated status. When a thread is to release its lock on an object, it first consults a reference-count field in the monitor record to determine whether any other threads are synchronized on the object. It then dissociates the object from the monitor record. The dissociation is not atomic with the reference-count check, so the releasing thread checks the reference count again. If that count indicates that further objects had employed the monitor record to synchronize on the object in the interim, then the unlocking thread wakes all waiting threads.

Um compiler/interpreter object-oriented aloca registros do monitor para o uso em executar operações sincronizadas em objetos. Quando uma operação da sincronização deve ser executada em um objeto, uma linha que deva executar a operação "infla" o monitor do objeto colocando em seu encabeçamento um ponteiro ao registro do monitor assim como uma indicação do status inflado do monitor. Quando uma linha deve liberar seu fechamento em um objeto, consulta primeiramente referência-conta o campo no registro do monitor para determinar se alguma outra linha está sincronizada no objeto. Dissociates então o objeto do registro do monitor. O dissociation não é atômico com referência-conta a verificação, assim que as verificações que liberando-se da linha a referência conta outra vez. Se essa contagem indicar que uns objetos mais adicionais tinham empregado o registro do monitor para sincronizar no objeto no ínterim, a seguir a linha destravando acorda todas as linhas de espera.

 
Web www.patentalert.com

< Predicting performance of a set of video processing devices

< Method and apparatus for determining power dissipation

> Processing architecture having an array bounds check capability

> System, method, and user interfaces for mining of genomic data

~ 00111