一、通知类型
HANDLE CreateEvent(
LPSECURITY_ATTRIBUTES lpEventAttributes, // SD
BOOL bManualReset, // reset type
BOOL bInitialState, // initial state(是否有信号)
LPCTSTR lpName // object name
);
1、创建一个事件CreateEvent()
,定义一个全局变量
HANDLE g_hEvent;
g_hEvent = CreateEvent(NULL,TRUE,FALSE,NULL);
2、创建两个线程
HANDLE ArrhThread[2];
ArrhThread[0] = CreateThread(NULL,0,ThreadProc1,NULL,0,NULL);
ArrhThread[1] = CreateThread(NULL,0,ThreadProc2,NULL,0,NULL);
3、设置事件通知类型
SetEvent(g_hEvent);
4、等待线程结束,销毁内核对象
WaitForMultipleObjects(2,ArrhThread,TRUE,INFINITE); //创建的事件是互斥类型,此时会将状态改变
CloseHandle(ArrhThread[0]);
CloseHandle(ArrhThread[1]);
5、创建线程内容
DWORD WINAPI ThreadPr