操作系统-信号量

本文详细介绍了信号量的二值和计数类型,以及它们在任务同步、互斥操作中的作用,包括单向和双向同步、共享资源访问示例。同时,特别关注了互斥量在并发控制中的应用。通过实例代码帮助理解这些概念在实际编程中的运用。
摘要由CSDN通过智能技术生成
信号量
简介

一般分为二值信号量、计数信号量和互斥量。前面2个一般被统称为信号量。信号量只用于同步或者互斥操作,它不具备数据交换功能。信号量用于同步的时候就像交通灯,强调的是运行步骤。信号量用于互斥的时候就像一把钥匙,强调的是许可和权限。二值信号量:表示资源是否可用(都可用于任务和ISR同步),计数信号量表示可用资源有多少(都可用于任务和ISR同步,二者都有任务阻塞功能)。

信号量的作用
  1. 任务单向同步
    在这里插入图片描述
    在这里插入图片描述

  2. 任务双向同步

在这里插入图片描述

  1. 多任务单向同步
    在这里插入图片描述

  2. 共享资源的同步访问
    在这里插入图片描述
    在这里插入图片描述

线程间资源共享举例

在这里插入图片描述
(代码清单省略)
在这里插入图片描述
在这里插入图片描述

互斥量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以上对理解信号量和互斥量及其应用应该很有帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值