Книга: Системное программирование в среде Windows

Обзор: объекты синхронизации Windows

Наиболее важные свойства объектов синхронизации Windows перечислены в табл. 8.2.

Таблица 8.2. Сравнительные характеристики объектов синхронизации Windows

CRITICAL_SECTION Мьютекс Семафор Событие
Именованный защищаемый объект синхронизации Нет Да Да Да
Доступность из нескольких процессов Нет Да Да Да
Синхронизация Вхождение Ожидание Ожидание Ожидание
Освобождение Выход Мьютекс может быть освобожден или оставлен без контроля. Освобождается любым потоком. Функции SetEvent, PulseEvent.
Права владения В каждый момент времени иметь права владельца может только один поток. Владеющий поток может осуществлять вхождение несколько раз, не блокируя свое выполнение. В каждый момент времени иметь права владельца может только один поток. Владеющий поток может выполнять функцию ожидания несколько раз, не блокируя свое выполнение. Понятие владения неприменимо. Доступ разрешен одновременно нескольким потокам, число которых ограничено максимальным значением счетчика. Понятие владения неприменимо. Функции SetEvent и PulseEvent могут быть вызваны любым потоком.
Результат освобождения Разрешается вхождение одного потока из числа ожидающих. Вслед за последним освобождением права владения разрешается приобрести одному потоку из числа ожидающих. Продолжать выполнение могут несколько потоков, число которых определяется текущим значением счетчика. После вызова функций SetEvent или PulseEvent продолжать выполнение будет один или несколько ожидающих потоков.

Оглавление книги

Оглавление статьи/книги

Генерация: 3.529. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз