/
n-dimens
/
pascalabcnet
Обзор
Документация
Войти
/
n-dimens
/
pascalabcnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
PABCNetHelp/LangGuide/Operators/lock.html
43 строки
2 KB
samuraiGH
adding working-tree-encoding attribute (#3325)
07 ноя 2025, 16:12
Не верифицирован
07 ноя 2025, 16:12
cf1fd29
Код
Авторство
О чём код?
<html> <head> <object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param name="Keyword" value="lock"> </object> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title></title> <link rel="StyleSheet" href="../../default.css"> </head> <body> <H1>Оператор lock</H1> Оператор lock имеет вид:<blockquote> <p><code><b>lock</b> </code><i>объект</i><code> <b>do</b><br> </code><i>оператор</i></p> </blockquote> <p><i>Объект</i> обязательно принадлежит к ссылочному типу.</p> <p>Оператор <code><b>lock</b></code> гарантирует, что <i>оператор</i> будет выполняться только одним потоком. <i>Объект</i> здесь хранит блокировку, а <i> оператор</i>, представляющий собой тело оператора <code><b>lock</b></code>, называется блоком синхронизации. После того как первый поток заходит в блок синхронизации, он блокирует <i>объект</i>, при выходе из блока синхронизации - разблокирует. Если <i>объект</i> заблокирован, то никакой другой поток не может зайти в блок синхронизации и приостанавливается до разблокировки <i>объекта</i>.</p> <p>Оператор</p> <blockquote> <p><code><b>lock</b> obj <b>do</b><br> oper;</code></p> </blockquote> <p>полностью эквивалентен следующему участку кода:</p> <blockquote> <p><code>Monitor.Enter(obj);<br> <b>try</b><br> oper;<br> <b>finally</b><br> Monitor.Exit(obj);<br> <b>end</b>;</code></p> </blockquote> </body> </html>