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

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

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

タグ:

aa-bot
+ タグ編集
  • タグ:
  • aa-bot
最終更新:2025年03月30日 13:36