puis-je utiliser parallel_invoke pour exécuter la même fonction plusieurs foisparallel_invoke même méthode dans TBB
comme je l'ai fonction scan qui traversent une chaîne puis-je faire les mêmes tâches multiples fonctionnent sur elle.
puis-je utiliser parallel_invoke pour exécuter la même fonction plusieurs foisparallel_invoke même méthode dans TBB
comme je l'ai fonction scan qui traversent une chaîne puis-je faire les mêmes tâches multiples fonctionnent sur elle.
Oui, vous pouvez.
vous pouvez également utiliser un task_group:
tbb::task_group g;
g.run(foo);
g.run(foo);
g.wait();
Si vous voulez exécuter aussi souvent que vous avez CPU-cores, vous pouvez le faire comme ceci:
tbb::task_group g;
for(auto i = 0; i != tbb::tbb_thread::hardware_concurrency(); ++i) {
g.run(foo);
}
g.wait();
Oui, rien vous arrêtera, mais vous êtes responsable de déterminer si ces actions entraîneront des conditions de concurrence ou des problèmes de concurrence qui feront exploser votre programme.
Peut-être que vous pourriez ajouter un pseudo code décrivant ce que vous voulez faire? – ronag