找回密码
 立即注册
首页 资源区 代码 线程相关函数-读写锁

线程相关函数-读写锁

语樊偿 2025-6-4 21:57:49
读写锁

ptehread_rwlock_init函数

此函数可以对一个读写锁进行初始化操作
  1. pthread_rwlock_t rwlock = PTHREAD_RWLOCK_INITIALIZER
  2. int ptehread_rwlock_init(pthread_rwlock_t *rwlock ,const pthread_rwlockattr_t *attr)
  3. //rwlock :传入一个读写锁变量的地址
  4. //attr:设置读写锁的属性,默认属性填NULL
  5. //ret:成功返回0,失败返回错误码
复制代码
pthread_rwlock_rdlock函数

对读操作进行上锁,此函数有阻塞特性
  1. int pthread_rwlock_rdlock(pthread_rwlock_t *rwlock)
  2. //rwlock :传入一个读写锁变量的地址
  3. //ret:成功返回0,失败返回错误码
复制代码
pthread_rwlock_tryrdlock函数

对读操作进行上锁,此函数没有阻塞特性,如果获取不到锁则返回,报错
  1. int pthread_rwlock_tryrdlock(pthread_rwlock_t *rwlock)
  2. //rwlock :传入一个读写锁变量的地址
  3. //ret:成功返回0,失败返回错误码
复制代码
pthread_rwlock_wrlock函数

对写操作进行上锁,此函数有阻塞特性
  1. int pthread_rwlock_wrlock(pthread_rwlock_t *rwlock)
  2. //rwlock :传入一个读写锁变量的地址
  3. //ret:成功返回0,失败返回错误码
复制代码
pthread_rwlock_trywrlock函数

对写操作进行上锁,此函数没有阻塞特性,如果获取不到锁则返回,报错
  1. int pthread_rwlock_trywrlock(pthread_rwlock_t *rwlock)
  2. //rwlock :传入一个读写锁变量的地址
  3. //ret:成功返回0,失败返回错误码
复制代码
pthread_rwlock_unlock函数

此函数可以对读写锁进行解锁操作
  1. int pthread_rwlock_unlock(pthread_rwlock_t *rwlock)
  2. //rwlock :传入一个读写锁变量的地址
  3. //ret:成功返回0,失败返回错误码
复制代码
pthread_rwlock_destory函数

此函数可以销毁一个读写锁
  1. int pthread_rwlock_destroy(pthread_rwlock_t *rwlock);
  2. //rwlock:指向要销毁的读写锁的指针
  3. //ret:0:成功销毁读写锁;EINVAL:rwlock 参数为 NULL 或指向的锁未正确初始化;EBUSY:锁当前正在被使用
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册