302
 правки
Изменения
Нет описания правки
;Exit :Процесс выходит из критического раздела и делает доступный общий ресурс другим процессам. 
Если процесс хочет войти в критический раздел, он должен сначала выполнить раздел <tex>try </tex> и подождать, пока он не получит доступ к критическому разделу. После того, как процесс выполнил свой критический раздел и завершился с общими ресурсами, ему необходимо выполнить раздел выхода, чтобы освободить их для использования другими процессами. Затем процесс возвращается в некритический раздел.
==Алгоритмы взаимного исключения==
===Алгоритм ЛампортаПетерсона===    '''threadlocal int''' id  <font color=green>// 0 to N-1</font>   '''shared int''' level[N]   '''shared int''' victim[N]   '''def lock''':     '''for''' j = 1..N-1:        level[id] = j        victim[j] = id        while exist k: k != id '''and'''              level[k] >= j '''and'''              victim[j] ==id:           '''pass'''      '''def unlock''':     level[id] =0 ===Алгоритм Лампорта(вариант <tex>1</tex>)======Алгоритм Лампорта(вариант <tex>2</tex>)===