1

Noobの質問:

このリンクは、CreateEventとCreateThreadの例を示しています

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

私の質問は、ThreadProcが本当にスレッドセーフかどうかです。

具体的には、dwWaitResult変数です。すべてのスレッドが同じイベントを待機しているため、このコードは機能しますが、異なるイベントが作成された場合、たとえば、これは正しく機能しませんか?

4

2 に答える 2

3

dwWaitResult変数は、その関数内のローカル変数です。したがって、個々のスレッドごとに独自のコピーがあり、変数がスレッドセーフであることを保証します。各スレッドには独自のスタックがあるため、すべてのローカル変数は個々のスレッドに固有です。

于 2011-01-11T14:34:51.150 に答える
0

イベントは名前で作成されるため、イベントが既に作成されている場合は、同じ名前のイベントを「作成」する他のスレッドで再利用されます。その結果、サンプル コードはスレッド セーフです。

于 2011-01-11T14:32:33.247 に答える