当前位置: 技术问答>linux和unix
关于Linux下线程同步的小疑问
来源: 互联网 发布时间:2017-02-03
本文导语: 请教个很弱的问题,Linux下使用pthread_mutex_t数据结构表示互斥量,但是这个互斥量与实际被访问的资源有什么关系呢?比如进程A有两个线程a和b,a用 pthread_mutex_trylock(pthread_mutex_t *mutex)将其锁住还未释放前,这时线程...
请教个很弱的问题,Linux下使用pthread_mutex_t数据结构表示互斥量,但是这个互斥量与实际被访问的资源有什么关系呢?比如进程A有两个线程a和b,a用 pthread_mutex_trylock(pthread_mutex_t *mutex)将其锁住还未释放前,这时线程b必然不能访问该资源,但是又假设还有个进程B,B的线程c也要去访问A中被锁住还未释放的那个资源,这时c能访问到吗?该资源在A中被锁住,在B中同样也是被锁住的吗?谢谢
|
这种互斥访问只是君子协定
锁和资源之间没有直接的强制关系
锁和资源之间没有直接的强制关系
|
互斥锁只能用于一个进程内部的线程之间的同步。一个资源在进程A中被互斥锁锁住的话,不能保证进程B中也是锁的状态。这种情况下,应该考虑进程同步机制,