为什么英特尔TBB不提供条件变量,如boost?

| 像条件信号机制一样,我希望一个任务等待,直到接收到某些信号或某些变量变为真。 Boost lib提供了这种机制,但是TBB却没有。 如何在TBB中实施这种情况?     
已邀请:
您使用的是旧的TBB吗? 任务“等待”是TBB过去无法很好地处理的,但是当前的TBB新闻包含以下内容:   ISO C ++线程类–轻巧的便携式   OS线程的包装器。它是   ISO C ++的近似值   200x类线程(第30.2节)   http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2691.pdf)。   现在,TBB让您选择最好的,   基于任务与基于线程的   你的情况。线程通常是   当“工作”为   真的比计算要多,   例如:
* GUI, I/O or network interface threads.
* Threads that need to wait on external events.
* Programs that previously needed to use both native threads and Intel® TBB tasks.
也就是说,他们承认TBB的任务并行性不是通用的灵丹妙药,您有时需要为I / O使用诸如“传统”线程模型之类的东西。实际上,如果您查看最新的参考手册,将会发现TBB现在包含条件变量! (请参阅第8.4节)     

要回复问题请先登录注册