У меня есть сообщение QWaitCondition: Destroyed, пока потоки все еще ожидают после запуска N потоков в цикле и ожидают каждого в другом цикле.
Вот код:
int nb_threads = QThread::idealThreadCount();
QFuture<void> futures[nb_threads];
bool shared_boolean;
// launch threads
for(int i = 0;i<nb_threads;++i){
futures[i] = QtConcurrent::run(this,gpMainLoopMT,&shared_boolean,&next_pop_size,next_population);
}
// wait for threads to finish
for(int i = 0;i<nb_threads;++i){
futures[i].waitForFinished();
}
Я просто не могу понять, почему это происходит, пока я жду каждого потока.