码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • FreeRTOS之信号量


    信号量:

    作用:操作系统中用来资源管理和任务同步

    分类:二值信号量 、互斥信号量、计数型信号量、递归互斥信号量

    二值信号量:

    使用场合:与互斥信号量类似,但没有优先级继承,因而适合与同步(包括任务与任务、任务和中断的同步)

    本质:一个只有一个队列项的队列,只有两种状态.

    运行机制:1 任务请求信号量,信号量无效,任务1进入阻塞态

                      2 中断或任务2释放信号量,信号量有效

                      3 任务1获取信号量成功,任务1从阻塞态解除,执行相关处理

                      4 由于任务函数一般为一个大循环,再次执行步骤1 ,任务1处于阻塞态,等待中断或任务2

      二值信号量会引起优先级反转,解决方式要用互斥信号量

    计数型信号量:

    与二值信号量相比,二值信号量长度为1,计数型信号量长度大于1

    使用场合:事件计数,这中场合,其初始化数值为0

                     资源管理,这中场合,其初始化数值为资源数量

    互斥信号量:

    本质:一个拥有优先级继承的二值信号量

    使用场合:只能用于任务之间的互斥,不能用于中断服务函数

    递归互斥信号量:

    一种特殊的互斥信号量,一般获取了互斥信号量的任务就不能再次获取这个互斥信号量,但递归互斥信号量不同,已经获取了递归互斥信号量的任务可以再次获取这个递归互斥信号量,而且次数不限。若一个任务成功获取了5次递归信号量,那么这个任务也得同样的释放5次递归信号量。有优先级继承机制,所以使用完递归信号量一定要释放。(因为优先级继承的存在)只能用在任务中,不能用在中断服务程序。

  • 相关阅读:
    0基础和小Q学前端---css之布局定位(1)---float布局
    vs studio 安装opencv 环境
    什么是JUC
    学点Selenium玩点新鲜~,让分布式测试有更多玩法
    Halcon 从基础到精通-01- 基本概念
    rtems source builder 构建交叉编译工具链
    一键AI高清换脸——基于InsightFace、CodeFormer实现高清换脸与验证换脸后效果能否通过人脸比对、人脸识别算法
    20李沐动手学深度学习v2/参数管理
    Java面试题-Java核心基础-第一天(基础概念与常识)
    【LeetCode】88. 合并两个有序数组 - Go 语言题解
  • 原文地址:https://blog.csdn.net/L1153413073/article/details/82823672
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号