나는 tbb::task_scheduler_init
인스턴스 init
을 갖고 있는데,이 스레드는 제어 할 수없는 코드의 일부 스레드로 초기화됩니다. 코드의 나머지 부분에서 스레드 수를 달리하고 싶습니다. 이 인스턴스를 통해 어떻게해야합니까? init
?TBB : 코드의 다른 부분에 다른 수의 스레드를 설정하는 방법은 무엇입니까?
다음 작업을 수행하는 것보다 더 좋은 방법이 있습니까?
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
task_arena 문서에서 촬영
. 스레드의 수를 설정하면 (이 예제와 같이) 종종 구성 가능성 문제가 발생합니다. 그러나 당신이 묘사하는 상황에 집착한다면 당신의 접근 방식은 합리적인 것처럼 보입니다. –