Составители:
как поток выполнит все действия с данными О, значение переменной F(D)
снова устанавливается равным 1.
Рис. 2.6. Реализация критических секций с использованием блокирующих
переменных
Блокирующие переменные могут использоваться не только при
доступе к разделяемым данным, но и при доступе к разделяемым ресурсам
любого вида.
Если все потоки написаны с учетом вышеописанных соглашений, то
взаимное исключение гарантируется. При этом потоки могут быть прерваны
операционной системой в любой момент и в любом месте, в том числе в
критической секции.
2.4.3 Семафоры
Обобщением блокирующих переменных являются так называемые
семафоры Дийкстры. Вместо двоичных переменных Дийкстра (Dijkstra)
предложил использовать переменные, которые могут принимать целые
43
как поток выполнит все действия с данными О, значение переменной F(D)
снова устанавливается равным 1.
Рис. 2.6. Реализация критических секций с использованием блокирующих
переменных
Блокирующие переменные могут использоваться не только при
доступе к разделяемым данным, но и при доступе к разделяемым ресурсам
любого вида.
Если все потоки написаны с учетом вышеописанных соглашений, то
взаимное исключение гарантируется. При этом потоки могут быть прерваны
операционной системой в любой момент и в любом месте, в том числе в
критической секции.
2.4.3 Семафоры
Обобщением блокирующих переменных являются так называемые
семафоры Дийкстры. Вместо двоичных переменных Дийкстра (Dijkstra)
предложил использовать переменные, которые могут принимать целые
43
Страницы
- « первая
- ‹ предыдущая
- …
- 41
- 42
- 43
- 44
- 45
- …
- следующая ›
- последняя »
