Сборник лабораторных работ по дисциплине "Прикладное программное обеспечение". Самохвалов К.М. - 73 стр.

UptoLike

Составители: 

73
сигнализирует событие. Возможно ожидание нескольких событий в режимах
«любого» или «всех». Возможно также создания события, автоматически
сбрасываемого в непросигнализированное состояние после пробуждения
первого жеи единственногоожидающего потока (такой объект использу-
ется как основа для реализации объекта «критическая секция»). Активно ис-
пользуются в MS Windows, как в режиме пользователя, так и в
режиме ядра.
Критические секции обеспечивают синхронизацию подобно мьютек-
сам за исключением того, что объекты, представляющие критические секции,
доступны в пределах одного процесса. События, мьютексы и семафоры так-
же можно использовать в однопроцессном приложении, однако, реализации
критических секций в некоторых ОС (например, Windows NT), обеспечивают
более быстрый и более эффективный [1, 2] механизм взаимно-исключающей
синхронизации
операции «получить» и «освободить» на критической сек-
ции оптимизированы для случая единственного потока (отсутствия конку-
ренции) с целью избежать любых ведущих в ядро ОС системных вызовов.
Подобно мьютексам объект, представляющий критическую секцию, может
использоваться только одним потоком в данный момент времени, что делает
их крайне полезными при разграничении доступа к
общим ресурсам.
Условные переменные (condvars). Сходны с событиями, но не явля-
ются объектами, занимающими память, – используется только адрес пере-
менной, понятие «содержимое переменной» не существует, в качестве услов-
ной переменной может использоваться адрес произвольного объекта. В отли-
чие от событий, установка условной переменной в просигнализированное со-
стояние не влечет за собой никаких
последствий в случае, если на данный
момент нет потоков, ожидающих на переменной. Установка события в ана-
логичном случае влечет за собой запоминание состояния «просигнализиро-
вано» внутри самого события, после чего следующие потоки, желающие
ожидать события, продолжают исполнение немедленно без остановки. Для
полноценного использования такого объекта необходима также операция