多个线程创建5个线程来计算素数

时间:2016-11-30 06:33:39

标签: c++ multithreading

请协助,我想创建5个线程来计算素数。我已经尝试过这种方式使用下面的代码,但我被告知它不正确。

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

#define NUM_THREADS 5
pthread_mutex_t mutexprime;

1 个答案:

答案 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

阻止您的变量