マルチスレッドでもっとも危険な行為がデッドロック。

スレッドAとスレッドBがあってAがBの終了を待っている時にBがAの終了を待つ。
こうすると永遠に終わらないよね。
こんな関係のことをデッドロックと言う。

:よくあるケース1
|メインスレッドがWaitForSingleObjectで待っている時にサブスレッドがSendMessageを呼ぶとデッドロックに陥る。
これはSendMessageは処理が完了するまで制御を戻さないから。回避するにはPostMessageを使う。
最終更新:2010年01月30日 11:07