-2

実行時にスレッドを作成するにはどうすればよいですか?

標準入力 (端末) から # of thread を取得し、この番号に従ってスレッドを作成します。しかし、どのように?

Ex: 
   input : N,                N is integer 

   in main function 

                create N thread 

編集:プラットフォームLinux

4

1 に答える 1

2

はい、スレッド(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);
于 2012-04-23T07:32:01.683 に答える