Linux互斥锁
时间:2021-07-20
本文章向大家介绍Linux互斥锁,主要包括Linux互斥锁使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
互斥锁的作用:// 在某一时刻,只允许一个线程访问临界资源
例如:在线程1里面会对全局变量进行修改,在线程2里面也会对与线程1相同的全局变量进行修改,为了相互不影响,我们希望在线程1操作这个变量的时候线程2不能操作这个变量,或者在线程2操作这个变量的时候线程1不能操作这个变量,也就是在同一时间只能有一个线程操作此变量。则我们可以在两个线程对应数据操作的位置加上均互斥锁,则可实现该功能。(其实不限于数据的变化,通俗的来说就是互斥锁上锁和开锁所对应的那一段代码。)
//互斥锁头文件 #include <pthread.h> //定义出一个互斥锁变量 pthread_mutex_t mutex; int main() { //在主函数初始化互斥锁 if(0 != pthread_mutex_init(&mutex, NULL)) { perror("mutex"); return -1; } } //上锁 pthread_mutex_lock(&mutex); //对数据进行操作 //释放锁 pthread_mutex_unlock(&mutex);
注意:多线程程序在编译的时候需要链接对应的库-lpthread
原文地址:https://www.cnblogs.com/JinShanCheShen/p/15036332.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- SimpleCommand实现图片下载(二)
- Android中menu使用详解
- SimpleCommand框架介绍以及简单使用(一)
- Android开发中使用achartengine绘制各种图表的方法
- Android开发中Listview动态加载数据的方法示例
- Android自定义实现顶部粘性下拉刷新效果
- Android开发使用自定义view实现ListView下拉的视差特效功能
- Android打造炫酷进度条效果
- Android开发实现自定义新闻加载页面功能实例
- Android下Activity间通信序列化过程中的深浅拷贝浅析
- Android升级支持库版本遇到的两个问题详解
- Android开发使用Drawable绘制圆角与圆形图案功能示例
- Android开发中自定义ProgressBar控件的方法示例
- Android 使用自定义RecyclerView控件实现Gallery效果
- Android开发中GridView用法示例