libcds C++ ライブラリを見ることができます。これは、ロックフリー コンテナー (スタック、キュー、セット、およびマップ) と安全なメモリ再利用アルゴリズムのコレクションです。
C ++に関する私見(私は他の言語に精通していません)。新しい C++ 標準がリリースされたばかりで、コンパイラ開発者はその要件を実装する時間が必要です。現在、コンパイラの最適化ルールを大幅に変更する必要があるため、すべてのコンパイラが C++11 メモリ モデルを完全にサポートしているわけではありません。最近、Microsoft は、VC++ 11 Developer Preview でのロックフリー プログラミングのベースであるアトミック操作のサポートを発表しました。私たちにとって朗報です。私が知っているように、GCC は 4.8 (またはそれ以降) でそれをサポートする予定です。
第二の問題は特許です。多くの興味深いロックフリー コンテナー アルゴリズムは特許を取得しており、ベンダーのライブラリに含めることの障壁となっています。
第 3 に、ロックフリー コンテナーの主要部分はガベージ コレクション (安全なメモリ再利用) です。C++ には GC がありません (幸いなことに)。いくつかの GC アルゴリズム (ハザード ポインター、Pass-the-Buck、エポック ベースなど) がありますが、それらのほとんどは特許も取得しています。
第 4 に、ロックフリーの実装に適用されたメモリ フェンスの正確性を証明する手段が不十分です。今、私が知っているのはrelacy (http://www.1024cores.net/home/relacy-race-detector) だけです。
2 ~ 3 年後には、ロックフリーのコンテナーとアルゴリズムを備えた、本番環境に対応したマルチプラットフォーム C++ ライブラリが多数登場することになると思います。これらのライブラリは、ベンダーや愛好家によって開発されています。
しかし、私の意見では、私たちの未来はハードウェアトランザクション メモリ (HTM) です。今日、AMD、Sun (申し訳ありませんが、Oracle)、Intel (?) が HTM を調査しており、非常に興味深い結果が得られています。待とう。