4

ロックフリーの通常のデータ型の実装 (ソースコードを意味する) のための優れたリソースを知っている人はいますか? リスト、キューなどについて考えていますか?

ロックの実装は非常に簡単に見つけることができますが、ロックフリーアルゴリズムの例や、CAS が正確に機能する方法、およびそれらの構造を実装するためにそれを使用する方法を見つけることができません。

4

3 に答える 3

4

Julian M Bucknall のブログをチェックしてください。彼は、キュー、リスト、スタックなどのロックフリーの実装について (詳細に) 説明しています。

http://www.boyet.com/Articles/LockfreeQueue.html

http://www.boyet.com/Articles/LockfreeStack.html

于 2009-11-12T22:24:43.690 に答える
2

http://www.liblfds.org

Cで書かれています。

于 2009-11-24T20:29:39.273 に答える
2

C++ で問題ない場合は、boost::lockfreeをご覧ください。ロックフリーの Queue、Stack、および Ringbuffer の実装があります。

このboost::lockfree::detailsセクションでは、ロックフリーのフリーリストとタグ付きポインター (ABA 防止) の実装を見つけることができます。また、 boost::atomic (C++0x の開発中バージョン)による明示的なメモリ順序付けの例も示しますstd::atomic

boost::lockfreeとはまだboost::atomic参加しboostていませんが、boost-development メーリング リストで注目されており、レビューが予定されています。

于 2010-02-02T11:46:08.170 に答える