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

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

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

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

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

20 Апр в 13:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 436 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир