C でマルチスレッド ライブラリをプログラミングする必要があるプロジェクトに取り組んでいます。thread_t_init、thread_t_shutdown、thread_t_create、thread_t_terminate、thread_t_yield などの関数を作成する必要があります。始めるのに適した場所、または少なくともいくつかのアドバイスを探しています。それが特定のウェブサイトであろうと、単なる会話であろうと、何でも役に立ちます。
4 に答える
Unix システムでは、主要なスレッド化 API はPOSIX Threads (Pthreads とも呼ばれます) です。これは、各 Unix ベンダーが実装する必要がある API 呼び出しの標準セットです。Linux、Solaris、*BSD などを含む事実上すべての Unix 派生物および Unix ライクな OS (どれを正確に指定していないため) は、この API の実装を提供します。Pthreads で書かれたスレッド プログラムは、さまざまな Unice 間でかなり移植性があります。
Lawrence Livermore National Laboratory は、 Pthreadsに関するものを含む、さまざまな並列プログラミング手法に関する優れた一連のチュートリアルを提供しています。
Linux の clone() システム コールを参照してください。
http://en.wikipedia.org/wiki/Clone_(Linux_system_call)
これも役立つかもしれません:
POSIXスレッドはあなたが探しているものです
私が知る限り、C には標準にスレッド モデルが含まれていませんが、C++ には C++11 バージョンにのみスレッド モデルが標準として含まれています。スレッドを使用した結果のプログラミングは、C++ pre-C++11 の場合のように、外部ライブラリを使用することと同じことであるため、選択することにしたライブラリをマスターする必要があります。Unix では、Pthreads
(POSIX スレッド) ライブラリは de-事実上の標準。
に関するリソースを探しPthreads
ます。