C言語スレッドの作成方法

C言語でスレッドを作成する方法は以下があります。

  1. ポインタ スレッドの識別情報、スレッド属性、スレッドのエントリ関数、およびエントリ関数の引数を要求します。サンプルコードを次に示します。
#include <pthread.h>

void* thread_func(void* arg) {
    // 线程执行的代码
}

int main() {
    pthread_t thread;
    pthread_create(&thread, NULL, thread_func, NULL);
    // ...
    return 0;
}
  1. Windowsでスレッドを作成するための関数です。ヘッダファイル「process.h」をインクルードする必要があり、スレッドのエントリ関数と引数を渡します。サンプルコードは次のとおりです。
#include <process.h>

unsigned int __stdcall thread_func(void* arg) {
    // 线程执行的代码
    return 0;
}

int main() {
    unsigned int thread;
    _beginthreadex(NULL, 0, thread_func, NULL, 0, &thread);
    // ...
    return 0;
}
  1. 関数のポインタを指定してスレッドを作成します。スレッドのエントリ関数として関数ポインタを使用し、メイン関数で関数呼び出しによってスレッドを作成します。サンプルコードは次のとおりです。
#include <stdio.h>

void thread_func(void* arg) {
    // 线程执行的代码
}

int main() {
    void (*ptr)(void*) = &thread_func;
    pthread_create(&thread, NULL, ptr, NULL);
    // ...
    return 0;
}

これらはすべて一般的な C 言語のメソッドを作成するための方法ですが、どの方法を選択するかは開発環境と要件によって異なります。

bannerAds