302
правки
Изменения
→Алгоритм Петерсона
==Алгоритмы взаимного исключения==
===Алгоритм Петерсона===
Перед тем как начать исполнение критической секции кода, поток должен вызвать процедуру <tex>lock()</tex> со своим номером в качестве параметра. Она должна организовать ожидание потоком своей очереди входа в критическую секцию. После исполнения критической секции и выхода из неё поток вызывает другую процедуру <tex>unlock()</tex>, после чего уже другие потоки смогут войти в критическую область. Посмотрим, как реализуется этот общий принцип алгоритмом Петерсона.
'''threadlocal int''' id <font color=green>// 0 to N-1</font>