当前位置: 首页 > news >正文

互斥信号+任务临界创建+任务锁

普通信号量

1、信号量概念

2、创建信号量函数

3、互斥信号量 

创建互斥信号量函数

等待信号量函数

释放互斥信号量

4、创建任务临界区 

5、任务锁 

任务上锁函数

​编辑 任务结束函数

效果


普通信号量

1、信号量概念

   信号量像是一种上锁机制,代码必须获得对应的钥匙才能继续执行,一旦获得了钥匙,也就意味这该任务里有进入被锁部分代码的权限。一旦执行到被锁代码段,那么任务就一致等待,知道对应被锁部分代码的u傲视被再次释放才能继续执行。

   信号量用于控制对共享资源的保护,但是现在基本用来做任务同步。

作用:得到信号量的任务,可以保证该任务可以被执行完,从而不会被打断

信号量通常分为两种:二进制信号量和技术型信号量;

二进制信号量只能取 0 1 两个值,计数型信号量的信号量值大于 1

计数型信号量范围为 0~65535

二值信号量用于那些一次只能一个任务使用的资源,比如 I/O 设备,打印机,

计数型信号量用于某些资源可以同时被几个任务所使用,比如一个缓存池有 10 个缓存块,那么同时最多可以支持 10 个任务来使用内存池。

 

2、创建信号量函数

3、互斥信号量 

作用:用于保证任务里面的程序不会被打断,保证任务程序可以完整执行完毕

任务执行顺序:按优先级排列进行运行

创建互斥信号量函数

 

 

等待信号量函数

 

释放互斥信号量

 

4、创建任务临界区 

 作用:创建全部任务后,在全部一起执行

 

 

5、任务锁 

作用:保证任务执行过程中不被其他任务打断

低优先级上锁

任务上锁函数

 

 任务结束函数

效果

 

 

http://www.lryc.cn/news/17678.html

相关文章:

  • Elasticsearch7.8.0版本进阶——文档搜索
  • spring security权限问题
  • mysql 8.0.22安装
  • Mysql系列:Mysql5.7编译安装
  • 设备树(配合LED驱动说明)
  • (二十六)大白话如何从底层原理解决生产的Too many connections故障?
  • ASEMI高压MOS管60R380参数,60R380特征,60R380应用
  • Python期末试卷
  • Linux | 网络通信 | http协议介绍 | cookie策略讲解
  • 招投标系统简介 招投标系统源码 java招投标系统 招投标系统功能设计
  • winapi获取和修改camera raw界面元素数据
  • C++问答汇总_2023自用
  • IDA 实战--(2)熟悉工具
  • Deep Unsupervised Learning using Nonequilibrium Thermodynamics论文翻译学习
  • 使用Autoware标定工具包联合标定相机和激光雷达
  • 了解线程安全
  • 【git】git版本控制
  • 模电学习7. 三极管特性曲线与静态工作点
  • LeetCode题解:633. 平方数之和,双指针,JavaScript,详细注释
  • Keil编译头文件iec_std_functions.h错误解决
  • 2022 赣育杯 CTF --- Crypto Lost_N wp
  • 【趋势分析方法三】MATLAB代码实现TFPW-MK检验
  • 一文学会 Spring 整合 MyBatis
  • ElasticSearch - 文档 | 索引文档 | 检索文档 | 创建索引并指明映射
  • SQL中的DML、DDL、DCL分别是什么意思
  • kubeasz部署k8s高可用集群
  • 2022年工程机械出口专题研究【重工】
  • [python入门(51)] - python时间日期格式time和datetime
  • 别担心ChatGPT距离替代程序猿还有距离
  • SpringBoot项目打包部署到阿里云服务器、通过Maven插件制作Docker镜像、部署项目容器、配置生产环境