たくさんありました C11 および C11 スレッド化に関する質問の数ですが、決定的な答えはどこにもありません:
できる C ライブラリは、GNU/Linux で使用可能な C11 スレッド インターフェイスを実装していますか? たとえば、「オプション」の <threads.h>
を指定します thrd_create()
のようなスレッド サポート ライブラリ 、pの近くのC11標準から。 376.
理想的には、共通/汎用/マルチ アーキテクチャ (GNU/Linux、x86_64、またはポータブルっぽい) 向けの、一般的な、オープンソースまたは無料のライブラリを見つけたいと思います。
より有用で関連性の高い SO リンクのいくつか:
- これとこれは
glibc
にあります; - これは標準について話しているものです;
- これは
clang
についてです; - これは C11 全般に関するものであり、これは Windows およびその他のプラットフォームに関するものです。
- C++11 についてさらに詳しく スレッディングですが、私は C11 にしか興味がありません。
ライブラリのスターター以外のオプション:
glibc
ライブラリはありません。 2012 年以降未解決のバグがあります。 GSoC の提案がありましたが、受け入れられなかったようです。- LLVM/Clang プロジェクトには C ライブラリがありません。
musl ライブラリにはありません。--今はそうです!以下の編集を参照して回答してください。- Newlib ライブラリはスレッド化 (ドキュメント) をサポートしていますが、
pthread
は使用していません C11 スレッドでもありません。 - uClibc にはありません。
- この比較表は疑わしいです (たとえば、C11 スレッドローカル ストレージのサポートに関する証拠が musl ソースに見当たりません);
- BSD に関するさまざまな投稿
- クローズドで Windows のみのように見える Pelles。
私は違います POSIX スレッド (多くの優れたオプション)、Windows、IDE、または C++11 (GNU libstdc++
を知っています) に興味があります。 および LLVM/Clang libc++
C++11 の std::thread
を提供する -pthread
を使用する )
ありがとう!
(再)編集:質問が再度開かれたため、コンテンツを移行して回答にクリーンアップしました。
答え:
musl は現在 (2014 年 9 月の時点で) C11 スレッドを実装しています!
この最近の musl メーリング リストの投稿と、2014 年 7 月から 9 月にかけてのそのリストに関する他の会話によると、musl ライブラリは現在 (2014 年 9 月 7 日現在)、C11 スレッド インターフェイスを実装しているようですが、比較表があります。これを書いている時点では、これを反映していません.
この質問は再度開かれているため、この内容を適切な回答に移動しました。