查看: 92|回覆: 0

线程相关函数-读写锁

[複製鏈接]

3

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2008-5-16
發表於 2025-5-12 09:04:00 | 顯示全部樓層 |閲讀模式

读写锁

ptehread_rwlock_init函数

此函数可以对一个读写锁进行初始化操作

pthread_rwlock_t rwlock = PTHREAD_RWLOCK_INITIALIZER
int ptehread_rwlock_init(pthread_rwlock_t *rwlock ,const pthread_rwlockattr_t *attr)
//rwlock :传入一个读写锁变量的地址
//attr:设置读写锁的属性,默认属性填NULL
//ret:成功返回0,失败返回错误码

pthread_rwlock_rdlock函数

对读操作进行上锁,此函数有阻塞特性

int pthread_rwlock_rdlock(pthread_rwlock_t *rwlock)
//rwlock :传入一个读写锁变量的地址
//ret:成功返回0,失败返回错误码

pthread_rwlock_tryrdlock函数

对读操作进行上锁,此函数没有阻塞特性,如果获取不到锁则返回,报错

int pthread_rwlock_tryrdlock(pthread_rwlock_t *rwlock)
//rwlock :传入一个读写锁变量的地址
//ret:成功返回0,失败返回错误码

pthread_rwlock_wrlock函数

对写操作进行上锁,此函数有阻塞特性

int pthread_rwlock_wrlock(pthread_rwlock_t *rwlock)
//rwlock :传入一个读写锁变量的地址
//ret:成功返回0,失败返回错误码

pthread_rwlock_trywrlock函数

对写操作进行上锁,此函数没有阻塞特性,如果获取不到锁则返回,报错

int pthread_rwlock_trywrlock(pthread_rwlock_t *rwlock)
//rwlock :传入一个读写锁变量的地址
//ret:成功返回0,失败返回错误码

pthread_rwlock_unlock函数

此函数可以对读写锁进行解锁操作

int pthread_rwlock_unlock(pthread_rwlock_t *rwlock)
//rwlock :传入一个读写锁变量的地址
//ret:成功返回0,失败返回错误码

pthread_rwlock_destory函数

此函数可以销毁一个读写锁

int pthread_rwlock_destroy(pthread_rwlock_t *rwlock);
//rwlock:指向要销毁的读写锁的指针
//ret:0:成功销毁读写锁;EINVAL:rwlock 参数为 NULL 或指向的锁未正确初始化;EBUSY:锁当前正在被使用


来源:https://www.cnblogs.com/lradian/p/18872080
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部