Linux多线程下的互斥锁
来源:互联网 发布:淘宝好评20字以上 编辑:程序博客网 时间:2024/06/07 06:11
POSIX标准下互斥锁是pthread_mutex_t,与之相关的函数有:
1 int pthread_mutex_init(pthread_mutex_t * mutex , pthread_mutexattr_t * attr);2 int pthread_mutex_destroy (pthread_mutex_t * mutex);3 int pthread_mutex_lock (pthread_mutex_t * mutex );4 int pthread_mutex_unlock (pthread_mutex_t * mutex );5 int pthread_mutex_trylock (pthread_mutex_t * mutex );
初始化锁用pthread_mutex_init,也可以用pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER(普通锁,最常见)来初始化;销毁用pthread_mutex_destroy,Linux中互斥锁并不占用资源,所以不去销毁也可以。一旦互斥锁被锁住了(pthread_mutex_lock),另一个地方再调用pthread_mutex_lock,就会被阻塞住,直到有pthread_mutex_unlock来解锁这个互斥锁,以此来保证多线程执行的有序性。pthread_mutex_trylock不会被阻塞住,如果当前互斥锁被锁住了,pthread_mutex_trylock会返回一个异常值;如果没被锁住,就去锁定之,和pthread_mutex_lock效果一样。
阅读全文
0 0
- Linux多线程下的互斥锁
- linux下的多线程
- linux下的多线程
- linux下的多线程
- linux下的多线程
- linux下的多线程
- Linux下的多线程编程
- Linux下的多线程编程
- Linux下的多线程编程
- Linux下的多线程编程
- Linux下的多线程编程
- Linux下的多线程编程
- linux 下的多线程编程
- Linux下的多线程编程
- linux下的多线程编程
- Linux下的多线程编程
- Linux下的多线程编程
- Linux下的多线程编程
- 存储过程
- 初学Spring Boot遇到的启动问题
- jquery中文档处理的学习
- cookie和session工作原理
- 顺序表应用8:最大子段和之动态规划法
- Linux多线程下的互斥锁
- 使用poi将word转为html
- React-Native Demo 工程 TransformError babel-preset-react-native
- Android笔记 SystemServer
- QT整理之HelloWorld测试例子
- 实现从oss(阿里云)服务器以附件形式下载文件(含批量下载)
- MySQL 外键约束的参照操作
- 高德云地图简单使用
- C头文件