2012-04-23 96 views
-2

在運行時,如何創建線程?運行時線程創建

我會從標準輸入 - 終端採取#線程,然後我會根據這個數字創建線程。但是,如何?

Ex: 
    input : N,    N is integer 

    in main function 

       create N thread 

編輯:平臺的Linux

+1

是的,可以。但究竟如何做到這一點很大程度上取決於你使用哪個系統來運行這個系統。線程不是C標準的一部分。你在使用哪個系統? – 2012-04-23 07:22:52

回答

2

是,線程(如果我們假設我們使用的並行線程)與呼叫在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);