互斥量理论基础

news/2024/11/16 15:51:57/

文章目录

  • 一、互斥量理论基础


一、互斥量理论基础

在多任务系统中,任务A正在使用某个资源,还没用完的情况下任务B也来使用的话,就会出问题。这时就需要互斥量(互斥锁),使用过程如下:

  1. 互斥量初始值为1,任务A想访问临界资源,先获得并占有互斥量,然后开始访问
  2. 任务B也想访问临界资源,也要先获得互斥量:被别人占有了,于是阻塞
  3. 任务A使用完毕,释放互斥量;任务B被唤醒、得到并占有互斥量,然后开始访问临界资源 任务B使用完毕,释放互斥量

概念:谁上锁,谁解锁(程序员自觉)。

1、优先级反转:

  1. 假设任务A、B、C都想使用串口,优先级A<B<C
  2. 任务A获得了串口的互斥量
  3. 任务C也想使用串口,它将会阻塞、等待A释放互斥量
  4. 高优先级的任务,被低优先级的任务延迟,这被称为"优先级反转"

2、优先级继承:

  1. 接上面优先级反转,假设持有互斥锁的是任务A,如果更高优先级的任务B也尝试获得这个锁
  2. 那任务A可以继承任务B的优先级,等待任务A释放互斥锁就可以恢复他的低优先级
  3. 任务B也就可以持有锁,互斥锁内部就实现了优先级的提升、恢复

3、递归锁:
谁持有,谁释放(默认)
在持有锁的过程中还可以再次上锁,"take"了N次,要"give"N次,这个锁才会被释放


http://www.ppmy.cn/news/1456091.html

相关文章

python操作minio中常见错误

因为我参考minio的文档操作&#xff0c;当时文档并不是很详细&#xff0c;这篇博文会统一记录自己所遇到的问题。以下的每个标题都是具体的错误信息。 minio-py文档 错误1:SSL: WRONG_VERSION_NUMBER 这个错误的原因是在创建minio的客户端时候没有关闭SSL&#xff0c;请使用如…

单目标问题的烟花优化算法求解matlab仿真,对比PSO和GA

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 单目标问题的FW烟花优化算法求解matlab仿真,对比PSO和GA。最后将FW&#xff0c;GA&#xff0c;PSO三种优化算法的优化收敛曲线进行对比。 2.测试软件版本以及运行…

自动驾驶主流芯片及平台架构(二)特斯拉自动驾驶芯片平台介绍

早期 对外采购mobileye EyeQ3 芯片摄像头半集成方案&#xff0c;主要是为了满足快速量产需求&#xff0c;且受制于研发资金不足限制&#xff1b; 中期 采用高算力NVIDIA 芯片平台其他摄像头供应商的特斯拉内部集成方案&#xff0c;mobileye开发节奏无法紧跟特斯拉需求&#xff…

【动态规划】数组中数字和为sum的方案个数

【动态规划】数组中数字和为sum的方案个数 给定一个有 n n n个正整数的数组 a 和一个正整数 s u m sum sum&#xff0c;求选择数组 a 中 部分数字和为 s u m sum sum的方案数。若两种选取方案有一个数字的下标不一样&#xff0c;则认为是不同的方案。 输入描述&#xff1a;…

计算机系列之数据库技术

13、数据库技术&#xff08;重点、考点&#xff09; 1、三级模式-两级映像&#xff08;考点&#xff09; 内模式&#xff1a;管理如何存储物理的数据&#xff0c;对应具体物理存储文件。 **模式&#xff1a;**又称为概念模式&#xff0c;就是我们通常使用的基本表&#xff0c…

缓存菜品操作

一&#xff1a;问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大。 二&#xff1a;实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; 每个分…

Python高级编程-DJango2

Python高级编程-DJango2 没有清醒的头脑&#xff0c;再快的脚步也会走歪&#xff1b;没有谨慎的步伐&#xff0c;再平的道路也会跌倒。 目录 Python高级编程-DJango2 1.显示基本网页 2.输入框的形式&#xff1a; 1&#xff09;文本输入框 2&#xff09;单选框 3&#xff…

一些可用于研究的GIS数据资源

国内的情况就不用说了&#xff0c;基本上是很难找到可以用于研究的GIS数据资源的。要么就是收费&#xff0c;免费的即使能找到&#xff0c;能否合法合规的进行使用也是一个问题。地理信息数据还是国外比较开放一些&#xff0c;相当多的政府组织或者公益机构对公众开放了下载渠道…