调用SetEvent之后调用CloseHandle

| 我的应用程序中正在运行线程。在线程内部,我正在等待自动重置事件退出。我要确保在使用事件后关闭事件的句柄。我有两个选择。 呼叫
SetEvent
后立即调用事件的
CloseHandle
WaitForSingleObject
行后调用
CloseHandle
请建议我哪种方法是正确的。     
已邀请:
        在
SetEvent
之后调用
CloseHandle
对我来说没有意义。您(如果需要)应仅在
WaitForSingleObject
之后呼叫
CloseHandle
。     
        所有线程使用完毕后,关闭手柄。在对我来说,WaitForSingleObject听起来很合理之后(因为如果成功,则SetEvent必须已完成)。 或者-给每个线程自己的句柄副本(例如,通过DuplicateHandle),并在完成后关闭每个副本。这更容易出错,并且需要更少的代码分析。     
        当您确定事件已完成工作并且不再需要时,请关闭事件句柄。在这种情况下,就是在检测到它已设置之后。因此,
WaitForSingleObject
解锁后,请关闭事件句柄。     

要回复问题请先登录注册