1

C/C++ の既存のデータ コレクションのうち、Java のコレクション (ライブラリ)ディスラプターに近い機能に最も適しているのはどれですか?

http://lmax-exchange.github.io/disruptor/

小さな説明:

これは、マルチスレッド プログラムでメッセージング キューを使用する非常に高速な代替手段です。それが実行されているハードウェアに対して「機械的な共感」を持ち、ロックフリーであるフレームワーク。そして、ロック、CAS、さらにはメモリバリアを回避するための多くの努力。

詳細については、ディスカッションを参照してください: LMAX のディスラプター パターンはどのように機能しますか?

4

2 に答える 2

2

同じ機能が必要な場合は、ミューテックスで保護されたキューを使用してください。同じパフォーマンスが必要な場合は、C++ でディスラプター アルゴリズムを再実装するか、次のオープン ソース プロジェクトを試してください: https://code.google.com/p/disruptor-cpp/

ご存じない方のために説明すると、ディスラプター (残念な名前) は、ロックフリー アルゴリズムを使用し、キャッシュの競合などの問題に細心の注意を払い、使用できる場合に非常に高いパフォーマンスを提供するメッセージ パッシング テクニックです。LMAXという会社が思いつき、名付けました。Martin Fowler (Refactoring で有名) はその支持者です。

于 2013-11-12T21:35:50.783 に答える
1

はい、機能する C++ ポートが既にあります。https://github.com/fsaintjacques/disruptorを参照してください。

于 2013-11-12T21:42:54.060 に答える