2016-11-30 99 views
-3

請協助,我想創建5個線程來計算素數。我已經用下面的代碼嘗試了這種方式,但我被告知它不正確。多個線程創建5個線程來計算素數

#include <pthread.h> 
#include <stdio.h> 

#define NUM_THREADS 5 
pthread_mutex_t mutexprime; 
+0

阻止你的變量我沒有複製的所有代碼: –

+1

這還不是全部。你應該把你的問題擴展到[mcve]。 – zx485

+0

您標記了C++,所以在這裏你去:http://timmurphy.org/2010/05/04/pthreads-in-ca-minimal-working-example/ http://www.cplusplus.com/reference/thread/thread/https://theboostcpplibraries.com/boost.thread-management如果你在C++中編碼,我建議第二個。 3種不同的方法 –

回答

0

在這裏你有一個例子,如何使你想要的儘可能多的線程。希望能幫助到你。

int main() { 
    int num_threads; 

    cout << endl << "Enter number of threads: "; 
    cin >> num_threads; 


    vector<thread> t; 

    for (int i = 0;i <= num_threads;i++) { 

    t.push_back(thread(/*fucntion*/, ref(/*add here variable1*/), ref(/*here variable 2*/))); 
     } 


     for (auto &tt : t) { tt.join(); //Join the threads when finish 
     t.clear();//clean vector. 
     system("cls"); 
    } 


    return 0; 
    } 

不要忘了mutex