免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5013 | 回复: 3
打印 上一主题 下一主题

linux线程锁 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-23 00:41 |只看该作者 |倒序浏览
线程锁初始化:int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr)
              如果是非动态锁结构,也可以使用PTHREAD_MUTEX_INITIALIZER赋值进行初始化。
线程锁销毁:int pthread_mutex_destroy(pthread_mutex_t *mutex)
锁:int pthread_mutex_lock(pthread_mutex_t *mutex)
解锁:int pthread_mutex_unlock(pthread_mutex_t *mutex)
try锁:int pthread_mutex_trylock(pthread_mutex_t *mutex)

类似的还有读写锁:
pthread_rwlock_init
pthread_rwlock_destroy
pthread_rwlock_rdlock
pthread_rwlock_wrlock
pthread_rwlock_unlock
pthread_rwlock_tryrdlock
pthread_rwlock_trywrlock
写锁锁住时,读锁和写锁都回阻塞;而读锁锁住时,写锁会阻塞,读锁可以成功。

条件变量:
使用锁时,还可以使用条件变量,阻塞等待条件发生,当条件发生时,进行信号量的通知,时阻塞的代码继续走下去,使用pthread_cond_wait进行条件阻塞,这时之前加的锁是被放开的,可以在条件改变的地方进行加锁,然后再改变条件和进行条件通知。
初始化:int pthread_cond_init(pthread_cond_t *cond, pthread_condattr_t *attr)
销毁:int pthread_cond_destroy(pthread_cond_t *cond)
条件等待:int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
带时间参数的条件等待:int pthread_cond_timewait(pthread_cond_t *cond, pthread_mutex_t *mutex, const struct timespec *timeout)
条件通知:int pthread_cond_signal(pthread_cond_t *cond)
          int pthread_cond_broadcast(pthread_cond_t *cond)

论坛徽章:
1
天蝎座
日期:2013-12-06 18:23:58
2 [报告]
发表于 2012-02-23 16:15 |只看该作者
您这是为了发帖而发帖么?

论坛徽章:
11
技术图书徽章
日期:2014-03-01 14:44:34天蝎座
日期:2014-05-21 22:11:59金牛座
日期:2014-05-30 17:06:14
3 [报告]
发表于 2012-02-23 17:26 |只看该作者
这个帖子莫名其妙,在做备忘录吧?

论坛徽章:
0
4 [报告]
发表于 2012-02-27 22:46 |只看该作者
呵呵,不好意思,这个还真是为了发帖而发帖。
那天刚申请账号,就发帖试试,一个自己发主题,一个是回帖。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP