コードデッドロックとその原因

マルチスレッドの開発環境では通常複数のロックを使用します。しかし、デッドロックが発生することがあります。考えられる原因を次に示します。

  • ロックの順番が最適でない
  • コールされるコンテキストが正しくない(たとえば、コールバック内)
  • 2つのスレッドがお互いにイベントの知らせを待機している可能性がある