Событие win32

Оригинальный адрес: https: //blog.csdn.net/u011394598/article/details/82981399

SetEvent / ResetEvent EVENT, соответственно, эти два состояния установлены быть не сигнал сигнала.

WaitForSingleObject () ожидает , пока только возвращает заданные параметры не ОБЪЕКТ состояние сигнала становится, событие объект может быть, может быть и другими объектами ядра. Примечание: первый WaitForSingleObject параметра не должен быть пустым.

CreateEvent используется для создания или открытого или безымянный объект события с именем для других его объяснения, ваши собственные слова, вот только краткое описание двух его общего пользования!

CreateEvent определяется следующим образом :

HANDLE WINAPI CreateEvent (  
_In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes, // атрибуты безопасности
_In_ BOOL bManualReset, // сбросить сигнал установки режима для автоматического восстановления состояния не-сигнала (FALSE) или вручную восстановить состояние не-сигнала (TRUE) ,
 _In_ BOOL bInitialState // начальное состояние  
 _In_opt_ LPCTSTR lpName // имена сигналов могут быть Null
);



использование:
первый автоматический возврат в состояние не-сигнала

hEvent = CreateEvent (NULL, FALSE, TRUE, NULL); // Режим сброса автоматически восстанавливается до состояния без сигнала, а начальное состояние сигнализируется.
DWORD dReturn WaitForSingleObject = (The hEvent, время ожидания); // Конец т.е. метод вызывается после того, как , hEvent становится не состояние сигнала, необходимо вызвать SetEvent он сигнализировал состояние


hEvent будет состояние без сигнала, если вам необходимо вышеуказанную формулу и установить снова в какой - то момент до конца, вам нужно использовать следующее заявление она становится сигналом (таким образом можно только разблокировать ожидающий поток, необходимо продолжать , чтобы разблокировать, необходимо использовать следующее уравнение снова)

SetEvent (hEvent)


во втором случае , чтобы вручную восстановить состояние без сигнала

hEvent = CreateEvent (NULL, TRUE, TRUE, NULL); // ручной режим сброса восстанавливается до состояния без сигнала, а начальное состояние сигнализируется.
DWORD dReturn WaitForSingleObject = (The hEvent, время ожидания); // этот метод вызывается, то автоматически изменяется событие сигнал


hEvent автоматически станет сигналом снова, вышеприведенная формула будет выполняться непосредственно , а также путем непосредственного исполнения и прохода (есть несколько потоков , ожидающих Над), в случае необходимости hEvent установлен в состояние не-сигнала, то необходимо вручную использовать следующую инструкцию:

ResetEvent (hEvent);


Примечание: Режим выше сброса относится к возвращению к состоянию способом без сигнала, если установлен в значение TRUE, это указывает на необходимо вручную установить в отсутствии сигнала, если ЛОЖЬ, то он автоматически не становится ни один сигнал, а количество сигнала становится не сигнализировал способ запутался!

рекомендация

отwww.cnblogs.com/dragon2012/p/11694413.html