Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 可以将TBB与posix信号量混合使用吗?_Multithreading_Pthreads_Posix_Semaphore_Tbb - Fatal编程技术网

Multithreading 可以将TBB与posix信号量混合使用吗?

Multithreading 可以将TBB与posix信号量混合使用吗?,multithreading,pthreads,posix,semaphore,tbb,Multithreading,Pthreads,Posix,Semaphore,Tbb,可以将TBB与posix信号量混合使用吗?我知道这意味着我限制了可以运行的系统的数量,但除此之外,我还需要担心是否存在任何可能的不良交互,或者在我使用TBB互斥体的任何地方使用posix信号量是否安全?是,除非它用于表示TBB任务之间的依赖关系或意味着强制并发。也就是说,您永远不应该依赖TBB来提供同时运行的特定数量的线程。如果调度器不知道任务之间的依赖关系,它可以将它们调度到同一个线程上(在嵌套算法/等待调用的情况下),从而导致死锁 也不建议完全阻塞内部TBB任务,这可能会导致CPU利用率不足

可以将TBB与posix信号量混合使用吗?我知道这意味着我限制了可以运行的系统的数量,但除此之外,我还需要担心是否存在任何可能的不良交互,或者在我使用TBB互斥体的任何地方使用posix信号量是否安全?

是,除非它用于表示TBB任务之间的依赖关系或意味着强制并发。也就是说,您永远不应该依赖TBB来提供同时运行的特定数量的线程。如果调度器不知道任务之间的依赖关系,它可以将它们调度到同一个线程上(在嵌套算法/等待调用的情况下),从而导致死锁

也不建议完全阻塞内部TBB任务,这可能会导致CPU利用率不足