Man*_*nny 19
从TBB版本2.2开始,任务调度程序将自动初始化,并在运行时处理要使用的线程数,如果您手动想要更改该数字,则可以使用以下方法之一:
创建调度程序时,可以指定线程数
tbb::task_scheduler_init init(nthread);
Run Code Online (Sandbox Code Playgroud)
否则你可以使用
tbb::task_scheduler_init init(tbb::task_scheduler_init::automatic);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,tbb scheduler会创建与CPU内核一样多的线程
Jos*_*rpe 11
让TBB决定池中的线程数是建议的选项 - 它通常会创建与计算机上的逻辑CPU一样多的工作线程 - 请参阅tbb :: task_scheduler_init的类引用.
在任何给定时间找出存在或正在执行任务的工作线程并不容易 - 这是一个深思熟虑的设计选择.来自英特尔的TBB并行编程课程:
我怎么知道有多少线程可用?
不要问!
- 甚至调度程序也不知道有多少线程可用
- 机器上可能正在运行其他进程
- 例程可以嵌套在其他并行例程中
| 归档时间: |
|
| 查看次数: |
13009 次 |
| 最近记录: |