Реализации алгоритмов/Алгоритм Деккера: различия между версиями

Содержимое удалено Содержимое добавлено
уточнение
Строка 1:
{{wikipedia|Алгоритм Деккера}}
'''Алгоритм Деккера''' — первое известное корректное решение проблемы [[w:мьютекс|взаимного исключения]] в [[w:параллельные вычисления|параллельном программировании]]. Он позволяет двум потокам выполнения совместно использовать неразделяемый ресурс без возникновения конфликтов, используя только [[w:Общая память|общую память]] для коммуникации. Если два процесса пытаются перейти в [[w:Критическая секция|критическую секцию]] одновременно, алгоритм позволит это только одному из них, основываясь на том, чья в этот момент очередь. Если один процесс уже вошёл в критическую секцию, другой будет ждать, пока первый покинет её. Это реализуется при помощи использования двух флагов (индикаторов «намерения» войти в критическую секцию) и переменной ''turn'' (показывающей, очередь какого из процессов наступила).
 
== C++ ==