将TBB与posix信号量混合可以吗?我知道这意味着我限制了我可以运行的系统数量,但除此之外是否有任何可能的错误交互,我需要担心它,或者在我使用的任何地方使用posix信号量都是安全的TBB互斥?
答案 0 :(得分:1)
是,除非它用于表示TBB任务之间的依赖关系或暗示强制并发。即你永远不应该依赖TBB来提供同时运行的特定数量的线程。如果调度程序不知道任务之间的依赖关系,它可以在同一个线程上调度它们(在嵌套算法/等待调用的情况下),从而导致死锁。
也不建议完全阻止TBB内部任务,它可能导致CPU利用不足。