Составители:
неотрицательные значения. Такие переменные, используемые для
синхронизации вычислительных процессов, получили название семафоров.
Для работы с семафорами вводятся два примитива POST и WAIT,
традиционно обозначаемых Р и V. Пусть переменная S представляет собой
семафор. Тогда действия V(S) и P(S) определяются следующим образом.
−
V(S): переменная S увеличивается на 1 единым действием.
Выборка, наращивание и запоминание не могут быть прерваны. К
переменной S нет доступа другим потокам во время выполнения
этой операции.
−
PCS): уменьшение S на 1, если это возможно. Если S=0 и
невозможно уменьшить S, оставаясь в области целых
неотрицательных значений, то в этом случае поток, вызывающий
операцию Р, ждет, пока это уменьшение станет возможным.
Успешная проверка и уменьшение также являются неделимой
операцией.
Никакие прерывания во время выполнения примитивов V и Р
недопустимы.
Рис. 2.7. Реализация критической секции с использованием системных
функций WAIT(D) и POST(D)
44
неотрицательные значения. Такие переменные, используемые для
синхронизации вычислительных процессов, получили название семафоров.
Для работы с семафорами вводятся два примитива POST и WAIT,
традиционно обозначаемых Р и V. Пусть переменная S представляет собой
семафор. Тогда действия V(S) и P(S) определяются следующим образом.
− V(S): переменная S увеличивается на 1 единым действием.
Выборка, наращивание и запоминание не могут быть прерваны. К
переменной S нет доступа другим потокам во время выполнения
этой операции.
− PCS): уменьшение S на 1, если это возможно. Если S=0 и
невозможно уменьшить S, оставаясь в области целых
неотрицательных значений, то в этом случае поток, вызывающий
операцию Р, ждет, пока это уменьшение станет возможным.
Успешная проверка и уменьшение также являются неделимой
операцией.
Никакие прерывания во время выполнения примитивов V и Р
недопустимы.
Рис. 2.7. Реализация критической секции с использованием системных
функций WAIT(D) и POST(D)
44
Страницы
- « первая
- ‹ предыдущая
- …
- 42
- 43
- 44
- 45
- 46
- …
- следующая ›
- последняя »
