C++のトランザクションメモリの提案の現在の状態は何ですか?17。これは標準に含まれる予定で、標準C++の将来のバージョンに含まれることを目指しているのか、あるいは実験的な概念実証機能に過ぎないのですか?標準C++トランザクションメモリの状態
標準化委員会の文書のいくつかは、ここでは矛盾したコミュニケーションを提供するように思われるので、私は尋ねています。一方で、トランザクションメモリが標準化されないと言っているP0265R0(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0265r0.pdf)があります。StroustrupのN4492論文(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4492.pdf)とトランザクションメモリがC++ 17の機能リストにリストされています。
しかし、それはAFAICTの唯一の構成可能なテクニックなので、残念です。基本的に、並行プログラミングは、15年前のように、最初からコーディングする必要があります(何も構成可能ではないので、再利用可能なビルディングブロックはありません)。 –
@AmiTavoryトランザクションがより構成可能で、なぜそうなのでしょうか? –
@ JanusTroelsen mutexまたはlockfreeプリミティブのいずれかを使用して、ハッシュテーブル用のいくつかの超クールな並行アルゴリズムを示すプロジェクトがあるとします。次に、リンクされたリストで同じものを探します。次に、ハッシュテーブルとリンクリストを使用してLRUキャッシュを構築します。これらのソリューションの組み合わせであるAFAIUは、問題の組み合わせに対する解決策ではありません(ハッシュテーブルとリストが並行しているだけでは不十分で、LRUの状態が矛盾する可能性があります)。ただし、TSMハッシュ・テーブルおよびリンク・リストを使用すると、TSM LRUを簡単に構築できます。 –