自旋锁及读写者模型

相关接口: 

读者写者问题

a.写者之间:互斥

b.读写者之间:互斥  同步

c.读者之间没有关系

读者写者模型vs生产消费模型本质区别为

消费者会拿走数据读者不会。

int pthread_rwlock_init(pthread_rwlock_t *restrict rwlock,const pthread_rwlockattr_t 
*restrict attr); 

加锁和解锁

int pthread_rwlock_rdlock(pthread_rwlock_t *rwlock); 
int pthread_rwlock_wrlock(pthread_rwlock_t *rwlock); 
 
int pthread_rwlock_unlock(pthread_rwlock_t *rwlock); 

读加锁

pthread_mutex_rdlock;
int reader_count=0;
lock(&rdlock);
reader_count++;
if(reader_count==1) lock(wrlock);
unlock(&rdlock);

读数据...

读解锁

lock(&rdlock);
reader_count--;
if(reader_count==0)
unlock(&wrlock);
unlock(&rdlock);

写者

pthread_mutex_t wrlock;
lock(&wrlock);
unlock(&wrlock);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值