私は c++ をブースト スレッド、ロック ミューテックスなどの優れた機能と共に使用しています。
2 つのスレッド A と B。A は、クライアントから情報がやり取りされるネットワーク スレッドです。B は、スレッドセーフである必要がある変数を持つワーカーです。
クラス A には複数のスレッドがあり、B は単一のスレッドです。A のインスタンスは B のジョブ リストに追加され、B がタスクを完了するまで A はロックされます。(ジョブのスレッドセーフリストは正常に機能します)
A は B にジョブを追加してからロックしますが、ほとんどの場合、A がロックする前です。B はジョブを処理し、A がロックを適用する前にロックを解除 (しようと) します。その結果、As デッド ロックが発生します。
ここで何をすべきかわかりません。コードを投稿することはできますが、概念的に議論する方が簡単だと思います。