C言語スレッドの作成方法
C言語でスレッドを作成する方法は以下があります。
- ポインタ スレッドの識別情報、スレッド属性、スレッドのエントリ関数、およびエントリ関数の引数を要求します。サンプルコードを次に示します。
#include <pthread.h>
void* thread_func(void* arg) {
// 线程执行的代码
}
int main() {
pthread_t thread;
pthread_create(&thread, NULL, thread_func, NULL);
// ...
return 0;
}
- 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;
}
- 関数のポインタを指定してスレッドを作成します。スレッドのエントリ関数として関数ポインタを使用し、メイン関数で関数呼び出しによってスレッドを作成します。サンプルコードは次のとおりです。
#include <stdio.h>
void thread_func(void* arg) {
// 线程执行的代码
}
int main() {
void (*ptr)(void*) = &thread_func;
pthread_create(&thread, NULL, ptr, NULL);
// ...
return 0;
}
これらはすべて一般的な C 言語のメソッドを作成するための方法ですが、どの方法を選択するかは開発環境と要件によって異なります。