C言語のスレッド関数の使い方は何ですか?

C言語でのthread関数の使い方は、スレッドを作成するために使用されます。スレッドは、プログラムの独立した制御フローであり、複数のスレッドを同時に実行し、並行実行を実現します。

thread関数の使い方は次の通りです。

  1. 最初に、対応するヘッダーファイルをインクルードする必要があります。
#include <pthread.h>
  1. その後、スレッドのエントリーポイントとして関数を定義します。
void* thread_function(void* arg) {
    // 线程的代码逻辑
    return NULL;
}
  1. スレッドを作成して実行する。
pthread_t thread;
int result = pthread_create(&thread, NULL, thread_function, NULL);
if (result != 0) {
    // 线程创建失败
}

// 等待线程结束
pthread_join(thread, NULL);

上記のコードで、pthread_create関数はスレッドを作成し、スレッドの開始点をthread_functionに設定します。最初のパラメータthreadは、作成した新しいスレッドのIDを保存するために使用されるpthread_t型へのポインタです。2番目のパラメータはスレッドの属性であり、デフォルトの属性を使用する場合はNULLに設定できます。3番目のパラメータはスレッドの開始関数のポインタであり、最後のパラメータはスレッドの開始関数に渡される引数です。

スレッド作成後は、pthread_join関数を使用してスレッドの終了を待つことができます。この関数の最初の引数は待機するスレッドIDであり、2番目の引数はスレッドの戻り値を格納するためのvoidポインタのポインタです。

注意すべきは、スレッドの作成と実行が非同期であることです。つまり、メインスレッドと新しく作成されたスレッドは並行して実行されることがあります。スレッドの実行順序とスケジューリングはオペレーティングシステムによって決定されます。

bannerAds