-3
請協助,我想創建5個線程來計算素數。我已經用下面的代碼嘗試了這種方式,但我被告知它不正確。多個線程創建5個線程來計算素數
#include <pthread.h>
#include <stdio.h>
#define NUM_THREADS 5
pthread_mutex_t mutexprime;
請協助,我想創建5個線程來計算素數。我已經用下面的代碼嘗試了這種方式,但我被告知它不正確。多個線程創建5個線程來計算素數
#include <pthread.h>
#include <stdio.h>
#define NUM_THREADS 5
pthread_mutex_t mutexprime;
在這裏你有一個例子,如何使你想要的儘可能多的線程。希望能幫助到你。
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
阻止你的變量我沒有複製的所有代碼: –
這還不是全部。你應該把你的問題擴展到[mcve]。 – zx485
您標記了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種不同的方法 –