相关接口:
读者写者问题
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);