linux c++(线程 & 读写锁)

读写锁

  • 读写锁的特点: 读共享,写独占,写优先级高
  • 读写锁仍然是一把锁,有不同的状态:
    • 未加锁
    • 读锁
    • 写锁

读写锁的使用场景:适合读的线程多

常用 pthread_rwlock_t rwlock = PTHREAD_RWLOCK_INITIALIZER;
#include <pthread.h>
//销毁
int pthread_rwlock_destroy(pthread_rwlock_t *rwlock);
//初始化
int pthread_rwlock_init(pthread_rwlock_t *restrict rwlock,const pthread_rwlockattr_t *restrict attr);
//销毁
int pthread_rwlock_destroy(pthread_rwlock_t *rwlock);
//加读锁
int pthread_rwlock_rdlock(pthread_rwlock_t *rwlock);
//加写锁
int pthread_rwlock_wrlock(pthread_rwlock_t *rwlock);
//释放锁
int pthread_rwlock_unlock(pthread_rwlock_t *rwlock);

posted on 2021-05-07 15:23  lodger47  阅读(401)  评论(0)    收藏  举报

导航