0、思考
关键代码段可以解决线程间同步,进程间怎么办?
1、相关api
CreateEvent
CreateEventEx
SetEvent
ResetEvent
CloseHandle
OpenEvent
PulseEvent
WaitForSingleObject
WaitForMultipleObjects
2、写在前面
特点:用于进程或线程间同步。
3、api说明
// 创建一个事件内核对象。
// lpEventAttributes:事件对象安全属性;(通常为NULL)
// bManualReset:手动重置(true),被触发时正在等待该事件的所有线程都将被变成可调度状态,需自行调用ResetEvent把事件变为未通知状态
(通常n个线程等待一个线程时,n个线程没有顺序关系和互斥关系则可使用手动重置);自动重置(true),被触发时只有一个正在等待该事件的
线程会变为可调度状态,同时对象会自动重置为未触发状态;(通常为false)
// bInitialState:初始化为触发状态(true),未触发状态(false);(通常为false)
// lpName:有名事件对象,用于进程间同步。
WINBASEAPI
__out_opt
HANDLE
WINAPI
CreateEventA(
__in_opt LPSECURI