J'ai une tbb::task_scheduler_init
instance init
qui est initialisée avec un certain nombre de threads dans une partie du code que je n'ai pas de contrôle, dans les parties postérieures du code que je veux exécuter avec un nombre différent de threads. Comment puis-je le faire à travers cette instance init
?TBB: Comment définir un nombre différent de threads dans différentes parties du code?
Y a-t-il un meilleur moyen que de faire ce qui suit?
init.terminate();
init.initialize(my_preferred_number_of_threads);
/*
run some code
*/
init.terminate();
init.initialize(original_number_of_threads); // restore the original tbb scheduler
L'utilisation préférée de TBB est pas encore défini le nombre de threads partout, et au lieu se concentrer sur l'obtention grainsizes dans le bon ordre de grandeur. La définition du nombre de threads (comme le montre cet exemple) entraîne souvent des problèmes de composabilité. Mais si vous êtes coincé avec la situation que vous décrivez, votre approche semble raisonnable. –