主题 : 互斥锁(pthread mutex) 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 19802
精华: 0
发帖: 42
金钱: 215 两
威望: 43 点
综合积分: 84 分
注册时间: 2010-04-23
最后登录: 2018-02-08
楼主  发表于: 2011-04-20 17:01

 互斥锁(pthread mutex)

请问读操作需要加锁么?

举例:
char a[100]
char wptr
char rptr

写操作

mutex_lock
a[wptr]=0;
wptr++;
mutex_unlock

读操作

mutex_lock
if(wptr!=rptr)
{
    x=a[rptr];
    rptr++;
}
mutex_unlock






多个进程写,多个进程读的情况。
[ 此帖被ljt8015在2011-04-20 17:11重新编辑 ]
级别: 新手上路
UID: 24811
精华: 0
发帖: 25
金钱: 125 两
威望: 25 点
综合积分: 50 分
注册时间: 2010-07-14
最后登录: 2013-02-05
1楼  发表于: 2011-04-20 19:34
你如果要能多个进程可以读取的话,可以选择读写锁。
互斥锁在读和写之前都需要获得锁。mutex_lock不是加锁的意思吧,准确来说是获得锁。mutex_unlock是释放锁。