Comment puis-je utiliser un vecteur de threads à terme pour obtenir les valeurs de retour d'un groupe de threads? Est-ce que cela devrait fonctionner? Si non, comment l'adapter?Comment est-ce que j'utilise un vecteur de futures de fil de poussée?
int calculate_the_answer_to_life_the_universe_and_everything()
{
return 42;
}
vector<packaged_task<int> > tasks;
vector<unique_future<int> > futures;
for (int i=0; i < 4; ++i)
{
tasks.push_back(packaged_task<int>(calculate_the_answer_to_life_the_universe_and_everything));
futures.push_back(tasks.back().get_future());
thread task(tasks.back());
}
boost::wait_for_all(futures.begin(), futures.end());
Je suis juste curieux, sans sémantique de mouvement, comment pourrait-on stocker un ensemble de tâches ou de contrats à terme? Pourrait-on également stocker un ensemble de shared_ptr> (ou futures)? –