gpt4 book ai didi

c - 线程如何获得互斥锁?

转载 作者:太空狗 更新时间:2023-10-29 12:03:11 27 4
gpt4 key购买 nike

我的问题是关于线程获取互斥锁。

我们使用pthread_mutex_t 锁来确保在多线程程序中读取/写入变量时顺序访问变量。但是pthread_mutex_t lock ;也是线程间共享的全局变量。访问this 全局变量(锁)是否与访问其他全局变量相同?如果相同,那么我们是否会面临与其他全局变量相同的问题?如果不是,那么访问锁数据结构与访问其他全局变量有何不同?

简而言之:为什么我们不需要锁定对锁本身的访问权限,从而导致先有鸡还是先有蛋的问题?

最佳答案

您实际上并不是直接访问 pthread_mutex_t 变量,而是使用一些给定的函数(例如 pthread_mutex_lock)访问它们。

这些函数的构建使得无法同时访问这些结构,无论是通过使用一些测试和设置指令(http://en.wikipedia.org/wiki/Test-and-set)还是通过使用代码的一些原子部分(http://en.wikipedia.org/wiki/Linearizability)。

关于c - 线程如何获得互斥锁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27268635/

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