请协助,我想创建5个线程来计算素数。我已经尝试过这种方式使用下面的代码,但我被告知它不正确。
#include <pthread.h>
#include <stdio.h>
#define NUM_THREADS 5
pthread_mutex_t mutexprime;
答案 0 :(得分: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