《Win32多线程程序设计》(6)---事件(Event Objects)
来源:互联网 发布:在淘宝免费买东西app 编辑:程序博客网 时间:2024/06/06 19:57
HANDLE CreateEvent(
LPSECURITY_ATTRIBUTES lpEventAttributes,
BOOL bManualReset,
BOOL bInitialState,
LPCTSTR lpName
);
参数
lpNameEvent 对象的名称。任何线程或进程都可以根据这个文字名称,使用这一event 对象。
返回值
LPSECURITY_ATTRIBUTES lpEventAttributes,
BOOL bManualReset,
BOOL bInitialState,
LPCTSTR lpName
);
参数
lpEventAttributes 安全属性。NULL 表示使用默认属性。该属性在Windows 95中会被忽略。bManualReset 如为FALSE,表示这个event 将在变成激发状态(因而唤醒一个线程)之后,自动重置(reset)为非激发状态。如果是TRUE,表示不会自动重置,必须靠程序操作(调用ResetEvent())才能将激发状态的event 重置为非激发状态。
bInitialState 如为TRUE,表示这个event 一开始处于激发状态。如为FALSE,则表示这个event 一开始处于非激发状态。lpNameEvent 对象的名称。任何线程或进程都可以根据这个文字名称,使用这一event 对象。
返回值
如果调用成功,会传回一个event handle,GetLastError() 会传回0。如果lpName 所指定的event 对象已经存在,CreateEvent() 传回的是该event handle,而不会产生一个新的。这时候GetLastError() 会传回ERROR_ALREADY_EXISTS。如果CreateEvent() 失败,传回的是NULL,GetLastError() 可以获得更进一步的失败信息。
SetEvent() 把event 对象设为激发状态
ResetEvent() 把event 对象设为非激发状态
PulseEvent() 如果是一个 Manual Reset Event :把event 对象设为激发状态,唤醒“所有”等待中的线程,然后event 恢复为非激发
状态。如果是一个Auto Reset Event:把event 对象设为激发状态,唤醒“一个”等待中的线程,然后event 恢复为非激发状态
文字版电子书-----请点击这里
0 0
- 《Win32多线程程序设计》(6)---事件(Event Objects)
- Win32多线程之事件(Event Objects)
- Win32多线程程序设计(一)
- Win32多线程之被激发的对象(Signaled Objects)
- 《Win32多线程程序设计》学习笔记---(1)
- 深入浅出Win32多线程程序设计(一)
- 深入浅出Win32多线程程序设计(二)
- 深入浅出Win32多线程程序设计(三)
- 深入浅出Win32多线程程序设计(四)
- 深入浅出Win32多线程程序设计(五)
- 《Win32多线程程序设计》读书笔记(1)
- 《Win32多线程程序设计》读书笔记(2)
- win32.多线程程序设计(内附源码)
- Win32 多线程程序设计(1)— 基础知识
- 《Win32多线程程序设计》读书笔记(一)
- win32多线程程序设计笔记(第二章)
- win32多线程程序设计笔记(第三章)
- win32多线程程序设计笔记(第五章)
- Valid Palindrome
- Word Ladder
- 写在2/11
- iOS7 兼容适配
- 机器学习的最佳入门学习资源
- 《Win32多线程程序设计》(6)---事件(Event Objects)
- CSDN 2013年终总结
- Confluence 代码块(Code Block)宏
- 造成segment fault,产生core dump的可能原因
- 对Cache类的一个泛型包装CacheHelper
- 未來數學家的挑戰-計算量問題
- 自满 不上进 堕落 养成一个坏的习惯
- java的二维转换
- vs2010编译生成后清除obj目录