gpt4 book ai didi

multithreading - pthread_once() 是如何在内部实现的?

转载 作者:行者123 更新时间:2023-12-05 00:57:09 25 4
gpt4 key购买 nike

我们在 pthread_once() 中使用任何锁定机制吗?在线程安全单例类中使用 pthread_once() 而不是使用 pthread_mutex_lock() 和 pthread_mutex_unlock() 的成本是多少?

最佳答案

规范没有定义 pthread_oncepthread_mutex_lock必须实现,但只是它们必须如何表现,所以不同的平台会有不同的实现。

一般可以制作pthread_once比互斥锁更简单(因为它只需要一个原子测试和设置操作,并且没有阻塞),但我也怀疑 pthread_mutex_lock可能会得到更多优化,因为它被更广泛地使用。

如果您关心性能,则必须编写基准测试并在目标平台上运行它,然后选择速度更快的平台。

关于multithreading - pthread_once() 是如何在内部实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34928466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com