-2

在运行时,如何创建线程?

我将从标准输入——终端——获取线程数,然后根据这个数字创建线程。但是,如何?

Ex: 
   input : N,                N is integer 

   in main function 

                create N thread 

编辑:平台Linux

4

1 回答 1

2

是的,线程(如果我们假设我们正在使用 pthreads)是通过调用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 回答