実行時にスレッドを作成するにはどうすればよいですか?
標準入力 (端末) から # of thread を取得し、この番号に従ってスレッドを作成します。しかし、どのように?
Ex:
input : N, N is integer
in main function
create N thread
編集:プラットフォームLinux
実行時にスレッドを作成するにはどうすればよいですか?
標準入力 (端末) から # of thread を取得し、この番号に従ってスレッドを作成します。しかし、どのように?
Ex:
input : N, N is integer
in main function
create N thread
編集:プラットフォームLinux
はい、スレッド(pthreadを使用していると仮定した場合)はpthread_createの呼び出しで作成され、ループから呼び出すことができます。
N個のスレッドを作成するC関数の開始は次のとおりです。
int start_N_threads(int N) {
pthread_t threads[N];
printf("Starting %d thread(s)...\n", N);
for (int i = 0; i < N; ++i) {
if (pthread_create(&threads[i], NULL, thread_body, (void*)&results[i]) != 0) {
printf("Couldn't create thread %d.\n", i);
}
}
printf("The %d thread(s) are running.\n", N);