首页 > 其他 > 详细

用户模式同步之事件小解

时间:2018-02-11 23:05:41      阅读:189      评论:0      收藏:0      [点我收藏+]

事件(和WaitForSingleObject等待函数配套)
如果我们要用事件一定记住的是利用CreateEvent(LPSECURITY,BOOL(手动or自动),BOOL(初始状态),LPCTSTR(NAME))

初始化事件
对于第二参数的手动还是自动选择自动就行,因为手动的话遇到WaitForSingleObject的时候还得自己设置变成未激发状态,自动
的话当遇到WaitForSingleObject会自动变为未激发状态
一般思路:
1.初始化事件,
2.事件返回的句柄作为参数传入线程
3.然后在线程函数里面打印输出等操作,完了之后SetEvent设置事件激发即可
4.记住最后WaitForSingleObject变为激发态等的是事件句柄!!

伪代码:

//自动下遇到WaitForSingleObject会自动变成未激发状态

int main()
{
HANDLE EventHandle=CreateEvent(NULL,FALSE,FALSE,NULL);
HANDLE ThreadHandle=(HANDLE)_beginthreadex (NULL,0,Thread,&EventHandle,0,NULL);
WaitForSingleObject(EventHandle,INFINITE);
return 0;
}
DWORD WINAPI Thread(LPVOID Para)
{
HANDLE* V1=(HANDLE*)Para;
SetEvent(*V1);//事件设置激发
printf("hello\r\n");
return 0;
}

 

用户模式同步之事件小解

原文:https://www.cnblogs.com/L-Sunny/p/8443416.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!