Создание потока внутри цикла For C++ ⇐ C++
-
Anonymous
Создание потока внутри цикла For C++
Я пробовал многопоточность внутри цикла for. Базовый блок кода будет выглядеть так:
void function(int a, string b, MyClass &Obj, MyClass2 &Obj2) { //часть выполнения } аннулировать другой класс::MembrFunc() { std::vector ThreadVector; для (некоторого условия) { std::thread *mythread(function,a,b,obj1,obj2) // создание потока, который будет работать параллельно, пока не будет выполнено условие цикла ThreadVector.push_back(mythread) } for (условие объединения потоков в threadvector) { Threadvector[index].join(); } } Для этого блока я получаю сообщение об ошибке: «Тип значения функции void*() не может использоваться для инициализации типа сущности std::thread..
Как исправить ошибку? Есть ли другой эффективный способ сделать это?
Я пробовал многопоточность внутри цикла for. Базовый блок кода будет выглядеть так:
void function(int a, string b, MyClass &Obj, MyClass2 &Obj2) { //часть выполнения } аннулировать другой класс::MembrFunc() { std::vector ThreadVector; для (некоторого условия) { std::thread *mythread(function,a,b,obj1,obj2) // создание потока, который будет работать параллельно, пока не будет выполнено условие цикла ThreadVector.push_back(mythread) } for (условие объединения потоков в threadvector) { Threadvector[index].join(); } } Для этого блока я получаю сообщение об ошибке: «Тип значения функции void*() не может использоваться для инициализации типа сущности std::thread..
Как исправить ошибку? Есть ли другой эффективный способ сделать это?
Мобильная версия