私はこの質問に関連してこれを求めています:マルチスレッドソケットサーバーでのイベントの使用
ConcurrentQueue
マルチスレッドの問題を回避するために必要な考え方を実装しました。それを行っているとき、標準との唯一の違いは、パラメーターを要求Queue
するメソッドにあることに気付きました。Dequeue()
out
唯一の保護は、オブジェクトをデキューするスレッド内にあると思いましたが、これは本当ですか?
私のゲームでは、ゲーム ロジックを処理するメイン スレッドがあり、その後、データのリッスン、シリアル化、および送信のジョブを実行するプレーヤーごとの別のスレッドがあります。
したがって、私ConcurrentQueue
は異なるスレッドによってエンキューおよびデキューされますが、エンキューまたはデキューのいずれかを呼び出すのは常に同じ 1 つだけです。
だから私は単純なキューで大丈夫だと思っていますか?
複数のスレッドから同時にConcurrentQueue
呼び出す場合にのみ必要ですか?Dequeue()