lock-free

    5

    3答えて

    私がブログを読んだが、私は彼の結論が正しいかどうかはわからない: http://www.javacodegeeks.com/2010/09/java-best-practices-queue-battle-and.html#ixzz1seaiSLwp 彼は言った:あなたが提供されるパフォーマンス結果から見ることができるようにLinkedBlockingQueueは(追加最高の組み合わせを実現要素を

    0

    1答えて

    fetch_addは、両方をサポートするCPUのCASループに対するwin(コメントも参照してください)です。 ビットを設定するためにクリアビットをトグルするときは、ビット単位または加算単位のどちらかの操作を使用できます。結果は同じです。私はそれぞれのパフォーマンスが等しいと思います。したがって、どの操作を使用するかの決定は、操作のハードウェアサポートの相違に左右されます(もしあれば、相対的なプロ

    8

    1答えて

    boost::lockfree::queue<<T, fixed_sized<false>, ..> を共有メモリに配置する際に問題があります。私はキューに65535件の以上のメッセージを挿入できるようにする必要があり、かつfixed_sizedキューが65535 に限定されている次のコードは正常に動作します(ただしcapacity<...>オプションがfixed_sized<true>を意味する

    1

    1答えて

    このオブジェクトプールは、複数のスレッドで可視性の問題を引き起こす可能性がありますか?私は、具体的実行シーケンスのこのような疑問を抱いています: スレッドA - obtainObject() スレッドAは - releaseObject() - オブジェクト(visibleState = 42を言うことができます) スレッドAを修正します スレッドB - obtainObject()(単にAでリリ

    2

    3答えて

    このような構造を想像:ポインタは、ルックアップテーブルを介して取得され struct my_struct { uint32_t refs ... } れる: struct my_struct** table; my_struct* my_struct_lookup(const char* name) { my_struct* s = table[hash(

    25

    4答えて

    私がもっと混乱して読んだほど、私はC++で正式に正しいmpscキューを見つけ出すのは簡単だと思いました。 私は別のスタブが見つかるたびに、ABAや他の微妙な競合状態などの問題があることを示唆しているようです。 多くのガベージコレクションが必要です。これは私が避けたいものです。 正しいオープンソースの実装がそこにあるのですか?

    6

    2答えて

    に一つだけの書き込みで、アップへの日付値インターロック変数からを読む: void SetValue(T value)店舗値が、一つだけを保存することができますそれ以外の場合は例外がスローされます。 T GetValue()は値を取得します(まだ値がない場合は例外をスローします)。 私は、次の欲望/制約がある:値を読み込む は安価でなければなりません。 値を書くことは(適度に)高価なことがあります。

    10

    2答えて

    アトミックに16バイトの読み書きが必要です。私はcmpxchg16だけを使って書き込みを行います。これは、わかりにくいAMDのものを除いて、すべてのx64プロセッサで利用できます。 ここで問題となるのは、整列した16バイトの値で、cmpxchg16(完全なメモリバリアのように動作する)を使用して変更した場合、16バイトの位置を半分古いデータと半分の新しいデータで読み取ることは可能ですか? 私はSS

    9

    2答えて

    私はこののWebSocketでstd::queueためboost::lockfree::queueを代用しようとしている++例https://github.com/zaphoyd/websocketpp/blob/experimental/examples/broadcast_server/broadcast_server.cpp それは本当にboost::unique_lock行を削除まだ構文を

    0

    2答えて

    ロックフリーの二重リンクリストに関する研究は数多く存在します。同様に、ロックフリーのスキップリストにはたくさんのリサーチがあります。しかし私が知る限り、ロックフリーの二重リンクスキップリストは管理していません。誰かが逆の研究を知っているのですか、それともなぜそうなのでしょうか? 編集: 具体的なシナリオは、高速分位数(50%、75%など)のアキュムレータを構築するためのシナリオです。サンプルはO(