Блокировка объекта
Объект волоконного замка
В отличие от блокировок операционной системы, волоконно-оптические блокировки реализованы чисто логически, и нагрузка на блокировку и разблокировку невелика.
1
2
3
4var l = new coroutine.Lock();
l.acquire();
.....
l.release();
Наследование
Конструктор
Lock
Конструктор
1new Lock();
Функция члена
acquire
Приобрести право собственности на замок
1Boolean Lock.acquire(Boolean blocking = true);
Параметры звонка:
- blocking: Boolean, указать, ждать ли, если правда, ждать, по умолчанию истинно
Результат возврата:
- Boolean, Возвращает, получена ли блокировка успешно, истина означает, что получение выполнено успешно.
Метод получения используется для получения права владения блокировкой.Когда блокировка находится в доступном состоянии, этот метод немедленно возвращает истину.
Когда блокировка недоступна и блокировка истинна, текущее волокно переходит в спящий режим.Когда другие волокна освобождают блокировку, этот метод возвращает истину.
Когда блокировка недоступна и блокировка имеет значение false, метод возвращает false.
release
Освободить право владения блокировкой
1Lock.release();
Этот метод освобождает владение блокировкой. Если текущее волокно не владеет блокировкой, этот метод выдаст ошибку.
count
Запросить количество ожидающих в настоящее время задач
1Integer Lock.count();
Результат возврата:
- Integer, Возвращает количество задач
toString
Возвращает строковое представление объекта, обычно возвращает «[Native Object]», объект может быть повторно реализован в соответствии с его собственными характеристиками.
1String Lock.toString();
Результат возврата:
- String, Возвращает строковое представление объекта
toJSON
Возвращает представление объекта в формате JSON, обычно возвращает набор читаемых атрибутов, определенных объектом.
1Value Lock.toJSON(String key = "");
Параметры звонка:
- key: Строка, не используется
Результат возврата:
- Value, Возвращает значение, содержащее сериализуемый JSON