だから私はMaged M.マイケルとマイケル・L.スコット記事Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms上で行っていた、と私は取得しない小さな問題があります:ツーロック同時キューアルゴリズムの問題
キューが初期化された直後に起動される2つの同時スレッドがあるとします。スレッドの1つはenqueue
を呼び出し、他のコールはdequeue
を呼び出します。ダミーノードのnext
フィールドに同時にアクセスすることを妨げる要因は何ですか? dequeue
スレッドがnext
フィールドを読み取ることはできませんが、enqueue
スレッドはスレッドに書き込みますか?彼らはどちらも異なるロックを使用するので、私はそれらの間で同期するものを理解していません..
ありがとう。
どのダミーノードを参照していますか? – Saeed
initialize()で作成されたもの – gipouf
初期化で作成された最初のノードを参照していると思いますか? – Saeed