Читайте также:
|
|
Объекты "события с автоматическим сбросом" больше похожи на семафоры и объекты mutex, чем на события со сбросом вручную. Когда поток вызывает SetEvent, чтобы освободить событие, оно остается в таком состоянии, пока не пробудится другой поток, ожидающий тот же объект. За мгновение до возобновления работы потока система автоматически переводит событие в занятое состояние. Применение объекта "событие с автоматическим сбросом" позволяет возобновить исполнение лишь какого-то одного из ожидающих потоков. Прочие потоки по-прежнему "спят" и ждут. Решение о том, какой именно из ждущих потоков возобновит исполнение, система принимает самостоятельно. Это относится не только к событиям, но и ко всем синхронизирующим объектам. Но если у ждущих потоков разный приоритет, первым возобновит исполнение тот, у кого он наивысший.
Этим типом событий, как и событиями со сбросом вручную, управляют функции SetEvent, ResetEvent и PulseEvent. ResetEven обычно не используют, т. к. система перед возвратом из WaitForSingleObject и WaitForMultipleObjects автоматически сбрасывает (переводит в занятое состояние) эти объекты.
Функция PulseEvent выполняет над событиями с автоматическим сбросом те же операции, что и над событиями со сбросом вручную: освобождает событие, разрешает исполнение ждущему этот объект потоку и вновь переводит объект в занятое состояние. Есть небольшое отличие в том, что происходит при вызове данной функции применительно к событиям с автоматическим сбросом: возобновляется исполнение лишь одного из ожидающих событие потоков, тогда как в случае событий со сбросом вручную исполнение могли продолжить все потоки, его ожидающие.
СОДЕРЖАНИЕ ОТЧЕТА
1. Постановка задачи.
2. Состав и структура программного модуля.
3. Блок-схема алгоритма.
4. Листинг программы.
5. Протокол диалога и выходные данные программы.
6. Анализ полученных результатов.
ЛИТЕРАТУРА
1. Кинг А. Windows 95 изнутри/Перев. с англ. - СПб: Питер, 1995. - 512 с.
2. Мэтт П. Секреты системного программирования в Windows 95.- Киев: издательство "Диалект", 1996. - 448 с.
3. Рихтер Д. Windows для профессионалов (программирование в Win32 API для Windows NT 3.5и Windows 95).Пер. с англ. - М.: Издательский отдел "Русская редакция" ТОО "Channel Trading Ltd.",1995. - 720 с.
Дата добавления: 2015-07-11; просмотров: 84 | Нарушение авторских прав