2009-07-12 15 views
2

私はこれを見つけた:一見ロックフリーのFIFOキュー管理のアルゴリズムは良いですか?

http://www.emadar.com/fpc/lockfree.htm

それが正常に見えます。誰もそれを使用していますか?あるいは、すでに誰かがそれを見て、それを使えないと思ったでしょうか?

+0

私にはうまく見えます。しかし、注意する必要があります。これは、多くのアイテムに追加するとキューのサイズを超えたことを示すものではありません。キューに10個のアイテムを格納でき、11個を追加できる場合、最初に読み込んだアイテムは最後に追加したアイテムになり、11番目のアイテムになります。 –

答えて

1

メモリ・バリア命令がないので、x86およびx86_64プロセッサの場合はOKですが、PowerPC(およびおそらくARM)の場合はほとんどありません。

私は単純なケースのために生産しており、問題はないことに気付きました。私はデルファイで非一般的なものを使用します。

2

一見すると、ABAの問題は解決しません。

ABAの問題を解決する同様の実装は、hereです。

+0

おそらく、それはLL/SC CPU上に実装されていました。 –

関連する問題