Составители:
СХЕМА РЕШЕНИЯ ЗАДАЧИ С ДОПОЛНИТЕЛЬНЫМ
ОГРАНИЧЕНИЕМ
sem rw = 1;
process Reader[i = 1 to M] {
while (true) {
. . .
P(rw); # захват блокировки исключительного доступа
[читать базу данных];
V(rw); # освобождение блокировки
}
}
process Write[i = 1 to K] {
while (true) {
. . .
P(rw); # захват блокировки
[записать в базу данных];
V(rw); # освобождение блокировки
}
}
Следующая схема решения предусматривает блокировку груп-
пы писателей со стороны читателей, однако, лишь первый из них
устанавливает блокировку P(rw); остальные читатели могут сразу
обращаться к базе данных (последний из них снимает блокировку).
СХЕМА РЕШЕНИЯ ЗАДАЧИ “О ЧИТАТЕЛЯХ И
ПИСАТЕЛЯХ”
БЕЗ ДОПОЛНИТЕЛЬНЫХ ОГРАНИЧЕНИЙ
int nr = 0 # число активных читателей
sem rw = 1; # блокировка исключения
process Reader[i = 1 to M] {
87
Страницы
- « первая
- ‹ предыдущая
- …
- 84
- 85
- 86
- 87
- 88
- …
- следующая ›
- последняя »