线程间的通信(互斥)

news/2024/7/7 14:34:09 标签: linux

互斥:解决程序中临界资源的竞争问题

函数接口说明:

pthread_mutex_init:初始化互斥锁

pthread-mutex_lock:申请互斥锁(加锁)

pthread_mutex_unlock:释放互斥锁(解锁)

无互斥锁时:

由于资源竞争,b还来不及++9e23d549541940f2a1e0ebf01e8d8f05.png

8a8dc468f2ba4687a8e66fff4dd00cfe.png 

9a433d454f654b54aca83c3405ace534.png 

加互斥锁后:

使用互斥锁后ab值相等不执行操作d3b4bdb5f7bb45feb34474e16a78b731.png 

3c3681fff427432bac85f8826323483c.png 

4843cb6683c64e6ab9c72517cb79b259.png 

 


http://www.niftyadmin.cn/n/4936963.html

相关文章

Nodejs 第十章(全局变量)

如何在nodejs定义全局变量呢? 在nodejs中使用global定义全局变量,定义的变量,可以在引入的文件中也可以访问到该变量,例如a.js global.xxx xxx require(xxx.js) xxx.js 也可以访问到该变量,在浏览器中我们定义的全局…

Vue+ElementUI实现选择指定行导出Excel

这里记录一下,今天写项目时 的一个需求,就是通过复选框选中指定行然后导出表格中选中行的Excel表格 然后这里介绍一个工具箱(模板):vue-element-admin 将它拉取后,运行就可以看到如下界面: 这里面的很多功能都已经实现…

3.1 Qt样式选择器

本期内容 3.1 样式选择器 3.1.1 Universal Selector (通用选择器) 3.1.2 Type Selector (类型选择器) 3.1.3 Property Selector (属性选择器) 3.1.4 Class Selector (类选择器) 3.1.5 ID Selector (ID选择器) 3.1.6 Descendant Selector (后裔选择器) 3.1.7 Chil…

Java接口压力测试—如何应对并优化Java接口的压力测试

导言 在如今的互联网时代,Java接口压力测试是评估系统性能和可靠性的关键一环。一旦接口不能承受高并发量,用户体验将受到严重影响,甚至可能导致系统崩溃。因此,了解如何进行有效的Java接口压力测试以及如何优化接口性能至关重要…

openGauss学习笔记-38 openGauss 高级数据管理-游标

文章目录 openGauss学习笔记-38 openGauss 高级数据管理-游标38.1 语法格式38.2 参数说明38.3 示例 openGauss学习笔记-38 openGauss 高级数据管理-游标 为了处理SQL语句,存储过程进程分配一段内存区域来保存上下文联系。游标是指向上下文区域的句柄或指针。借助游…

【Linux系统编程】24.管道、pipe、fifo、进程间文件通信

目录 管道 实现原理 特质 局限性 读写行为 读管道 写管道 缓冲区大小 返回值 优缺点 优点 缺点 pipe 参数pipefd[2] 返回值 测试代码1 测试结果 测试代码2 测试结果 测试代码3 测试结果 fifo 创建方式 参数pathname 参数mode 返回值 测试代码4 测试…

手把手教你如何实现内网搭建电影网站并进行公网访问(保姆级教学)

手把手教你如何实现内网搭建电影网站并进行公网访问 文章目录 手把手教你如何实现内网搭建电影网站并进行公网访问前言1. 把软件分别安装到本地电脑上1.1 打开PHPStudy软件,安装一系列电影网站所需的支持软件1.2 设置MacCNS10的运行环境1.3 进入电影网页的安装程序1…

【沁恒蓝牙mesh】CH58x USB功能开发记录(一)

本文主要介绍基于【沁恒蓝牙mesh】CH58x USB功能,结合SDK提供的代码包分析USB的基本常识 【沁恒蓝牙mesh】CH58x USB功能开发记录(一) 1. USB基本常识1.1 **USB 设备类别:**1.2 **USB设备实现方法:**1.3 **CDC设备&…