gpt4 book ai didi

c - 线程。如何检查互斥体是否已锁定

转载 作者:行者123 更新时间:2023-11-30 15:33:27 25 4
gpt4 key购买 nike

我需要编写 bicycle 函数,该函数等于 pthread_mutex_trylock(...)
我该怎么做?
我找不到这个函数的源代码,而且恐怕即使我找到它们,它们也太复杂而无法复制粘贴。但无论如何我都会为这个链接投票。
我需要编写简单的函数,如果互斥体未锁定,则该函数可以仅获取互斥体,如果未锁定则返回。

最佳答案

我的感觉是您在问题中没有提供足够的信息。 glibc 中实际的 pthread 互斥实现是一个非常复杂的野兽(它旨在支持许多用例和策略)并且几乎不适合训练任务。

因此,您实际上可能需要做一些与深入研究 pthread 互斥体内部不同的事情。

一种可能性:您使用 pthread_mutex_trylock 的替代方案可能就足够了。这种替代方案确实存在,称为 pthread_mutex_timedlock (以 0 超时调用它)。

另一种可能性:您可能需要自己的互斥体实现(基于低级原语,例如 Linux 上的 futex)。这也不太复杂:http://locklessinc.com/articles/mutex_cv_futex/ .

关于c - 线程。如何检查互斥体是否已锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23691404/

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