简单学习测试用例
#include <Windows.h>
#include <stdio.h>
int num = 0;
DWORD thProc0(LPVOID hd)
{
while (1)
{
Sleep(1000);
// 激活
SetEvent(hd);
}
}
DWORD thProc1(LPVOID hd)
{
while (1)
{
WaitForSingleObject(hd, INFINITE);
// 复位
ResetEvent(hd);
printf("%d\r", num++);
}
}
int main()
{
HANDLE th[2];
DWORD thID;
HANDLE Hevent = CreateEvent(0, TRUE, FALSE, NULL);
th[0] = CreateThread(0, 0, thProc0, Hevent, 0, &thID);
th[1] = CreateThread(0, 0, thProc1, Hevent, 0, &thID);
// 阻塞
WaitForMultipleObjects(2, th, TRUE, INFINITE);
// system("pause");//或改用这个
CloseHandle(Hevent);
CloseHandle(th[0]);
CloseHandle(th[1]);
return 0;
}