c++ - TBB parallel_for 线程池
问题描述
我正在尝试了解一些关于 TBB 的知识,但我怀疑我无法解决它。
Afaik,TBB 使用线程池,因此它不需要一直创建线程。如果你使用 tbb::parallel_for,它是使用这个线程池还是创建新线程?如果它使用线程池,那么线程池是如何创建的?无需进行任何调用来创建或配置线程池。它是否在第一次并行调用时创建线程池?
解决方案
TBB 有内部线程池,它需要一些时间在第一个 tbb 的算法调用(“热身”库)上创建线程。您不需要显式创建它。1 是一个相当古老的帖子,但它有一个线索它是如何在引擎盖下工作的(或者是前一段时间)
此外,如果您需要为算法的一部分指定线程计数或工作线程的堆栈大小的一些限制,您可以使用task_scheduler_init但它不是与实际线程计数硬绑定的。仅供参考。
推荐阅读
- spyder - 无法启动 spyder
- python - 有没有办法从网站预览图像而不将其保存在磁盘上?
- c++ - 如何在 Windows 上使用 C++ 监听终端外的击键
- primeng - 行中的反应形式日期管道展开
- javafx - 无法访问类 com.sun.javafx.print.Units
- matlab - Matlab傅里叶反卷积
- image - 如何使用 Julia 将数组保存到 RAM 中的 PNG 图像?
- c# - 当由于未经授权(JWT)而发生 401 错误时如何发送 json 作为响应
- mysql - 即使以 LongText 数据类型存储在数据库中时,数据也会被截断
- optimization - 在线性规划中证明无界性的问题