2016-10-10 1 views
1

fetch_and_store操作のアルゴリズムがあります。私はこの行を除いてアルゴリズムを全世界的に理解しています:pred : ^qnode := I->prev := fetch_and_store (L, I)。これはCLHアルゴリズム(並行処理プログラミング用)です。誰かがこの部分を理解するのを助けることができますか?fetch_and_store操作は何ですか

アルゴリズム:スレッドが処理のためにそれを取り、他のノードと置き換えます。http://www.cs.rochester.edu/research/synchronization/pseudocode/ss.html#clh

答えて

2

fetch_and_store (L, I)はアトミックこれは、ロックノードは1つのスレッドのみと仕事をされることを保証する私はLに書き込み、L.の前の値を返します。 。他のスレッドはここに配置したノードを受け取ります。

+0

これは原子交換です。 compare-and-swapと同様ですが比較はしません。 –

関連する問題