【发布时间】:2014-05-01 13:01:26
【问题描述】:
我们需要创建多个实时处理链,一个以 n Hz 运行,另一个以 x、y 和 z Hz 运行在单个进程中。其中 x、y 和 z 是 n 的某个倍数(不一定是简单倍数)。例如,一条链以 1Hz 运行,而另一条链以 3Hz 和 4Hz 运行。每个处理链都需要利用 TBB 来并行化它们的一些计算等,因此需要有一个与硬件处理器数量相匹配的 TBB 工作线程池,但较高频率的链需要抢占较低频率的链为了使系统正常工作。使用 TBB 如何实现这一点?
从文档看来,不可能创建相互抢占的 TBB 工作线程池,因为 TBB 任务组等似乎共享一个真实线程池,并且似乎没有无论如何设置 TBB 工作线程的实际系统优先级,还是我错过了什么?
【问题讨论】:
标签: multithreading real-time scheduling tbb