まず、C++11 を軽視しないでください。新しい標準の並行作業は C++11 の傘の下で行われ、互換性を確保するという明確な目標を持って C11 にインポートされました。構文上の違いはいくつかありますが (たとえば、単純な C にはテンプレートや関数のオーバーロードがないため)、意味的には設計上は同じです。この「証拠」については、WG14 の論文を確認できます。例えば:
およびその中の参照。詳細については、
Open Std Web サイトを参照してください。
さて、あなたの質問に進みます:
改善されたメモリ シーケンス モデルとは何ですか?
明らかな答えは、複数のスレッドとそれらの相互作用を考慮して変更されたことです。少し長い回答については、「C++11 で標準化されたメモリ モデルが導入されました」を参照してください。どういう意味ですか?また、C++ プログラミングにどのような影響を与えるのでしょうか? それはすでにコメントで言及されていました。詳細な理解のために、stackoverflow の回答はおそらく適切な場所ではありません (さらに、いくつかのサブ質問がある質問ではありません!)。しかし幸いなことに、Hans Boehm は、さらに読むための興味深いリンクを含む非常に優れたページを維持しています(繰り返しますが、C11 と C++11 のメモリ モデルは意味的に同一であることに注意してください)。
何も見逃していないことを願っていますか?
メモリ モデルとともに、あなたのリストは C11 での同時実行性の追加をカバーしているようです。その他の変更については、ウィキペディアにリストがあります。頭のてっぺんから、ウィキペディアのリストが見逃しているものは何も思いつきません。
現在、標準ライブラリ自体がマルチスレッドに必要なすべての機能を提供する (提供する予定である) ため、将来的に POSIX やそのようなライブラリ (マルチスレッド サポート用) は必要ないのでしょうか?
はい、それらが必要になります。まず、さまざまな既存のスレッド API を使用する既存のコードをすべて書き直す人は誰もいないでしょう。次に、C(++)11 スレッド ライブラリは、さまざまなネイティブ スレッド ライブラリのラッパーとして実装される可能性が高いです。C(++) スレッド ライブラリがサポートする以上のことを行う必要がある場合に備えて、基礎となるネイティブ スレッドへのポインターを取得する方法が文書化されています。C(++)11 スレッド ライブラリは、さまざまなネイティブ スレッド ライブラリの移植可能な最小公倍数ラッパーのようなものだと考えてください。
最後に、上記の機能をサポートしているコンパイラはどれですか? これらがサポートされるタイムラインに関する参照はありますか? C++11 の場合、コンパイラのサポートと機能へのリンクがあったことを覚えています。
詳細なリストは見ていませんが、C++11 に比べて C11 に関する話題はあまりないようです。次の GCC 4.7 に関する短い通知があります: http://gcc.gnu.org/gcc-4.7/changes.html。同時実行のサポートについては、C++11 ステータス ページ ( http://gcc.gnu.org/projects/cxx0x.html ) で同時実行のサポートを確認できます。http://gcc.gnu.org/wiki/Atomicには、GCC の現在のステータスと計画に関するメモもあります(そのページによると、stdatomic.h が利用可能です)。他のコンパイラについては、ここにさまざまなコンパイラの C++11 ステータスの優れたリストがありますhttp://www.aristeia.com/C++11/C++11FeatureAvailability.htm. リンクから同時実行サポートのステータスを確認できます。問題のベンダーが C11 のサポートを計画していると仮定すると、C11 の同時実行サポートはほぼ同じレベルになる可能性があります。