使用Win32事件对象

时间:2011-01-11 14:28:56

标签: winapi createthread

Noob问题:

此链接显示了CreateEvent和CreateThread

的示例

http://msdn.microsoft.com/en-us/library/ms686915(v=vs.85).aspx

我的问题是ThreadProc是否真的是线程安全的?

具体来说,是dwWaitResult变量。由于所有线程都在等待同一事件,事实证明这个代码有效,但是创建了不同的事件,例如,这不正确吗?

2 个答案:

答案 0 :(得分:3)

dwWaitResult变量是该函数中的局部变量。因此,每个单独的线程都有自己的副本,这可以确保变量是线程安全的。每个线程都有自己的堆栈,因此所有局部变量都是特定于各个线程的。

答案 1 :(得分:0)

事件是按名称创建的,因此如果已创建事件,则会在“创建”具有相同名称的事件的任何其他线程中重复使用该事件。因此,示例代码是IS线程安全的。