ループ内でN 個のスレッドを起動し、別のループでそれぞれを待機した後、「QWaitCondition: スレッドがまだ待機している間に破棄されました」というメッセージが表示されます。
コードは次のとおりです。
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();
}
各スレッドを待っている間、なぜこれが起こっているのかわかりません。