二值信号量 vs 互斥量

一、对比表

对比维度 二值信号量(Binary Semaphore) 互斥量(Mutex)
本质 计数器 = 1 的信号量("令牌开关") 独占资源的 "锁"
核心用途 任务间 / 中断 - 任务同步(时序协调) 保护共享资源(防止并发访问)
资源归属 无归属,任意任务可获取 / 释放 有归属(仅持有任务可释放)
关键机制 无优先级继承 / 天花板 支持优先级继承(解决优先级反转)
中断支持 支持(中断中 Give,任务中 Take) 不支持(仅任务中操作)
死锁风险 低(无归属) 高(同一任务重复获取会死锁)
释放限制 非持有任务也可释放 仅持有任务能释放
典型场景 中断通知任务、任务间同步触发 访问串口 / 传感器 / 全局变量

二、总结

  1. 核心定位:二值信号量管 "同步",互斥量管 "互斥";
  2. 关键区别:互斥量有 "资源归属" 和 "优先级继承",二值信号量无;
  3. 避坑原则:保护共享资源优先用互斥量,时序协调优先用二值信号量;
  4. 禁忌:中断中绝不能操作互斥量,二值信号量仅能在中断中 "释放",不能 "获取"。
相关推荐
一只小菜鸡..2 小时前
南京大学 操作系统 (JYY) 学习笔记:从 UNIX 到 Linux 与庞大的应用生态
笔记·学习·unix
熊猫钓鱼>_>5 小时前
ArkTS 装饰器总览:V1 / V2 / 通用装饰器完整学习笔记
笔记·学习·华为·交互·harmonyos·arkts·arkweb
GLDbalala5 小时前
GPU PRO 5 - 5.2 glTF: Designing an Open-Standard Runtime Asset Format笔记
笔记
春生野草5 小时前
个人笔记——栈
笔记
chnyi6_ya6 小时前
论文阅读笔记 | One Sentence, One Drama: 基于多智能体系统的个性化短剧生成
论文阅读·笔记
ysa0510306 小时前
【板子】短序列dp(换成维护更小常数维度的dp)
c++·笔记·算法·板子
Dory_Youth7 小时前
联想笔记本电脑失灵
运维·笔记·电脑
2501_926978337 小时前
认知边缘的双向耦合:从核技术类比到智力货币时代
人工智能·经验分享·笔记·ai写作
hanlin038 小时前
刷题笔记:力扣第242、349题(哈希表)
笔记·算法·leetcode
茯苓gao8 小时前
嵌入式开发笔记:CAN与CAN FD完全指南——从帧格式差异到MCU选型实战
网络·笔记·stm32·嵌入式硬件·学习·汽车