码迷,mamicode.com
首页 > 其他好文 > 详细

用户模式同步之事件小解

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

标签:pos   handle   blog   return   在线   线程   eve   create   als   

事件(和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;
}

 

用户模式同步之事件小解

标签:pos   handle   blog   return   在线   线程   eve   create   als   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!