Книги автора: Введение в Python
Описание языка PascalABC.NET
S. D. F.
Справочкик по JavaScript
Справочник по CSS
Справочник по PHP
Справочник по Flash
Язык программирования Euphoria. Справочное руководство
Программирование на Java
Основы программирования на Java
Графика DirectX в Delphi
VBA для чайников
Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil
Фундаментальные алгоритмы и структуры данных в Delphi
Курс "Язык программирования PHP"
Книга: Описание языка PascalABC.NET
Оператор lock
Оператор lock
Оператор lock имеет вид:
lock объектdo
оператор
Объект обязательно принадлежит к ссылочному типу.
Оператор lock гарантирует, что оператор будет выполняться только одним потоком. Объект здесь хранит блокировку, а оператор, представляющий собой тело оператора lock, называется блоком синхронизации. После того как первый поток заходит в блок синхронизации, он блокирует объект, при выходе из блока синхронизации - разблокирует. Если объект заблокирован, то никакой другой поток не может зайти в блок синхронизации и приостанавливается до разблокировки объекта.
Оператор
lock obj do
oper;
полностью эквивалентен следующему участку кода:
Monitor.Enter(obj);
try
oper;
finally
Monitor.Exit(obj);
end;
Оглавление статьи/книги
- Операторы: обзор
- Оператор присваивания
- Составной оператор (блок)
- Пустой оператор
- Условный оператор
- Оператор описания переменной
- Оператор выбора
- Оператор цикла for
- Оператор цикла foreach
- Операторы цикла while и repeat
- Оператор with
- Оператор безусловного перехода goto
- Операторы break, continue и exit
- Оператор try ... except
- Оператор try ... finally
- Оператор raise
- Операторы += и -= для процедурных переменных
- Оператор lock