我需要知道如何从一个数字中创建未知数量的线程,这是我的代码:
void callWritePrimesMultipleThreads(int begin, int end, string filePath, int N){
ofstream file;
file.open(filePath);
thread myThreads[N];//cant make it because N isnt a constant value.
}
我真的想过制作一个数组,但我不能,因为我收到的数字对于函数是未知的,有没有办法在这个函数中乘以线程?
答案 0 :(得分:0)
尝试在函数中使用std::vector
:
void callWritePrimesMultipleThreads(int begin, int end, string filePath, int N){
ofstream file;
file.open(filePath);
vector<std::thread> myThreads;
}
然后使用push_back(thread t)
将线程添加到向量中,如下所示:myThreads.push_back(thread)
,但是如果这个问题对您来说很难,那么暂时远离线程可能是个好主意,如他们非常复杂化程序。