Что такое остаточные секции и почему потоки которые в них НЕ исполняются имеют право указывать другим когда входить в критическую секцию? У меня в книге приводятся требования которым должен соответствовать хороший алгоритм синхронизации потоков желающих выполнятся в критической секции. И один пункт меня сбивает с толку.Процессы, которые находятся вне своих критических
участков и НЕ собираются входить в них, НЕ могут препятствовать другим процессам входить в их собственные критические участки. Если нет процессов в критических секциях и имеются
процессы, желающие войти в них, то только те процессы, которые НЕ исполняются в остаточных секциях, должны принимать решение о том, какой процесс войдет в свою критическую секцию. Такое решение НЕ должно приниматься бесконечно долго.
Во-первых, что это за остаточные секции?
Во-вторых, почему это потоки (тут под процессами понимаются именно потоки, насколько понимаю) которые НЕ входят в них вдруг получают право указывать конкретным потокам, что они должны/могут войти в эту критическую секцию, а всем остальным соответственно это запрещенно? Тем более что ранее прямо говорилось что "Процессы, которые находятся вне своих критических участков и НЕ собираются входить в них, НЕ могут препятствовать другим процессам входить в их собственные критические участки."

21 Авг 2019 в 06:27
187 +1
0
Ответы
1

Остаточные секции - это участки кода, которые находятся между критическими участками синхронизации потоков. Это могут быть любые другие участки кода, где потоки не находятся в критической секции.

Потоки, которые не исполняются в остаточных секциях, могут указывать другим потокам, когда иметь право входить в критическую секцию, потому что если они не собираются входить в критическую секцию, то они не мешают другим потокам входить в свои критические участки. Это помогает избежать ситуации, когда потоки, находящиеся вне критических участков, случайно блокируют доступ других потоков к своим критическим участкам.

Таким образом, потоки, которые не входят в остаточные секции, могут помочь контролировать доступ других потоков к критическим участкам, чтобы избежать бесконечной блокировки.

20 Апр 2024 в 13:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир