线程同步——互斥锁
来源:互联网 发布:数据统计网站模板 编辑:程序博客网 时间:2024/05/23 09:47
Linux系统提供了互斥锁来保证某个时刻只有一个线程使用资源。
互斥锁提供了在多线程情况下相互排斥的办法。
互斥锁的锁定和解锁是通过pthread_mutex_lock函数和pthread_mutex_unlock函数来实现的。
互斥锁一般用来保护数据结构,通过线程对互斥锁的锁定和解锁,能够实现某一时刻只有一个线程访问该数据结构。
创建互斥锁
创建互斥锁 pthread_mutex_init函数来实现互斥锁的初始化
pthread_mutex_t mylock;
pthread_mutex_init(&my_lock, NULL);
NULL表示使用默认属性。初始化后,互斥锁处于解锁的状态。
互斥锁的加锁
pthread_mutex_lock函数用于互斥锁进行加锁操作。
int pthread_mutex_lock(pthread_mutex_t *mutex);
mutex的锁类型
PTHREAD_MUTEX_NORMAL:不提供死锁的检测,因此加锁有可能出现死锁;对一个没有加锁的互斥锁进行解锁操作,将导致不可预测的行为。
等等。。
0 0
- 线程同步—互斥锁
- 线程同步——互斥锁
- 同步线程—Mutex
- 线程同步—互斥锁+条件变量
- 线程同步小练——线程互斥锁
- 线程基础—线程的同步
- 线程同步——用户模式下的线程同步
- Windows线程同步—用户模式下的线程同步
- VC——线程同步
- VC——线程同步
- VC——线程同步
- VC——线程同步
- 线程同步——信号量
- 线程同步——信号量
- 线程同步——互斥量
- Linux——线程同步
- 线程同步——信号量
- 线程同步——互斥量
- 自定义SpringMVC配置文件名称以及路径
- 收藏网站78
- Oracle学习笔记(3)-----------命令大全
- ubuntu下出现The system is running in low-graphics mode的问题
- Android双击事件
- 线程同步——互斥锁
- iOS开发-Day6-C的复习
- web.xml配置详解之context-param
- Python编辑器设置(包括Visual Studio Code和Sublime Text3)
- 收藏网站79
- windows 下python安转numpy、opencv包
- try catch异常后,spring的异常是否还有效
- Java---并发和同步(生产者--消费者)
- JSON.net的转换操作