Составители:
}
// # процесс 2: прочитать новые строки и запомнить
string line2;
while (true) {
[прочитать следующую строку ввода line2];
if (EOF) {done = true; break; }
[ожидать опустошения буфера];
buffer = line2;
[сигнализировать о заполнении буфера];
oc;
Программа работает следующим образом: пока первый процесс
ищет шаблон в строке, второй (параллельный) процесс считывает
новую строку и ее запоминает в буфере (буфер считается быстро-
действующим устройством: зап ись и чтение с использованием бу-
фера — быстрые операции).
§6 Мелкомодульная неделимость
Напомним, что неделимым действием называется действие, в ко-
тором н и одно его промежуточное состояние неразличимо в процес-
сами данной программы.
Действия, реализуемые аппаратно, заведомо являются недели-
мыми; они называются мелкомодульными неделимыми действия-
ми.
В последовательной п рогр амме неделимым действием являет-
ся, например, операция присваивания. Заметим, однако, что в па-
раллельных программах оператор присваивания может не быть
неделимым , т.к. часто он реализуется с помощью последователь-
ности инструкций.
Допустим, ч то мелкомодульными являются чтение и запись пе-
ременных, и рассмотрим следующую программу:
int y = 0, z = 0;
co x = y + z // y = 1; z = 2;
oc;
24
Страницы
- « первая
- ‹ предыдущая
- …
- 21
- 22
- 23
- 24
- 25
- …
- следующая ›
- последняя »