2011-07-12 4 views
1

私はWindows同期に関するmsdnの記事を読んでいます。それは本当に良い&素材です。同時に、非常に時間がかかる。私は、同じトピックについての包括的な簡単なガイドにもっと興味があります。すべてのポインタ?クリティカルセクション以外のウィンドウ同期ルーチンは何ですか?

+0

これが本当の問題ではありません。具体的なものを尋ねてください。 –

答えて

1

これは、ネイティブ(管理されていないWin32)アプリケーションで使用する概念の一覧です。私は)括弧の間にいくつかの関連する関数名を追加しました:

  • クリティカルセクション(InitializeCriticalSection、TryEnterCriticalSection、LeaveCriticalSection、...)
  • ミューテックス(CreateMutex、WaitForSingleObject関数、ReleaseMutex、CloseHandleを、...)
  • セマフォ(たCreateSemaphore、WaitForSingleObject関数、ReleaseSemaphore、CloseHandleを、...)
  • イベント(のCreateEvent、SetEvent、ResetEvent、WaitForSingleObject関数、CloseHandleを、...)

これらのほかに、ファイルを使用してロックを実装することもできます(例:

  • CreateFileを使用してファイルを作成し、FILE_FLAG_DELETE_ON_CLOSEを使用し、共有フラグを指定しないでください。
  • プロセスが既にファイルを作成した場合、CreateFileは失敗します。
  • ロックを解除するには、CloseHandleを使用してファイルを閉じます。
+0

終了するスレッド(つまり、スレッドに対するハンドルを持つWaitForSingleObject)で同期することもできます。あなたが残した別の同期プリミティブは、リーダライタロックが細いことです。 –

関連する問題