C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 83 - Что такое События (Event) синхронизации / MSDN rus / Visual C++

Шаг 83 - Что такое События (Event) синхронизации

Смысл использования события в уведомлении одного или нескольких ожидающих потоков. События бывают двух типов:

  1. Сброс вручную
  2. Сбрасываются ожидаемыми функциями

Разница в том, что первый вид события нужно применять если событие ждут несколько потоков. Только сброс в ручную поволяет это сделать. Иначе первый же обработчик сбросит событие и другие потоки об этом не узнают. Реализуется это так. Объявляется переменная события типа HANDLE. Для создания события используется функция CreateEvent(), для доступа OpenEvent(), для установки события две функции SetEvent() и PulseEvent(). Для сброса события используется функция ResetEvent(). Дескриптор события после окончания работы нужно закрыть. Объект событие может находиться в двух состояниях - занят и свободен. Картинка ниже показывает смысл события с ручным сбросом.

83_1.gif (2683 b)

А вот, что будет с автоматическим сбросом в той же самой ситуации.

83_2.gif (2601 b)


| |
Автор Каев Артем.
[AD]