【问题标题】:C Pthread is a condition or a barrier more efficient to pause a thread?C Pthread 是暂停线程更有效的条件还是障碍?
【发布时间】:2020-10-12 18:22:11
【问题描述】:

我有一个线程大部分时间都想暂停。我可以使用障碍或条件变量。有性能差异吗?

【问题讨论】:

  • “我想吃一块牛排。桌布和椅子哪个更好”?你可能想解释一下你想要做什么......

标签: c multithreading pthreads


【解决方案1】:

有性能差异吗?

存在语义差异。尽管条件变量和障碍都可以导致线程阻塞,直到一个或多个其他线程采取适当的行动,“适当的行动”的细节是显着不同的。您应该使用对您的应用程序更自然的那个。

如果您想调查相对性能,请编写替代实现并测试它们。没有替代品。我倾向于猜测,由于需要编写更多代码以使其他代码适应您的要求,因此更自然的会获胜,但这是推测性的。

【讨论】:

    猜你喜欢
    • 2016-07-19
    • 2016-03-26
    • 2021-12-09
    • 2016-01-09
    • 2023-02-15
    • 2011-04-16
    • 2013-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多