Серверный JavaScript 1.4. Руководство по использованию

       

Специальные Замки/Locks для Объектов project и server


Каждый из объектов project и server имеет методы lock и unlock. Вы можете использовать эти методы для получения исключительного доступа к свойствам этих объектов.

В этих методах ничего нового нет. Вам также необходима кооперация с другими участками кода. Вы можете представлять эти методы как имеющие флаги: один флаг с именем "project", а другой - флаг с именем "server." Если другой раздел кода не вызывает project.lock, первый может изменять любые свойства объекта project.

В отличие от метода lock класса Lock, Вы не можете специфицировать таймаут для метода lock объектов project и server. То есть, когда Вы вызываете project.lock, система ожидает бесконечно долго освобождения замка. Если Вы хотите ожидать только в течение определённого периода, используйте экземпляр класса Lock.

В примере использованы методы lock и unlock для получения исключительного доступа к объекту project для модификации свойства ID потребителя:

project.lock()

project.next_id = 1 + project.next_id;
client.id = project.next_id;
project.unlock();



Содержание раздела