【发布时间】:2020-10-12 18:22:11
【问题描述】:
我有一个线程大部分时间都想暂停。我可以使用障碍或条件变量。有性能差异吗?
【问题讨论】:
-
“我想吃一块牛排。桌布和椅子哪个更好”?你可能想解释一下你想要做什么......
标签: c multithreading pthreads
我有一个线程大部分时间都想暂停。我可以使用障碍或条件变量。有性能差异吗?
【问题讨论】:
标签: c multithreading pthreads
有性能差异吗?
存在语义差异。尽管条件变量和障碍都可以导致线程阻塞,直到一个或多个其他线程采取适当的行动,“适当的行动”的细节是显着不同的。您应该使用对您的应用程序更自然的那个。
如果您想调查相对性能,请编写替代实现并测试它们。没有替代品。我倾向于猜测,由于需要编写更多代码以使其他代码适应您的要求,因此更自然的会获胜,但这是推测性的。
【讨论】: