RT-Thread学习记录7 信号量的使用

以下为看视频笔记..........

1. 信号量(IPC)

 

在嵌入式系统中运行的代码主要包括线程和中断(ISR),在它们的运行过程中,它们的运行步骤有时需要同步(按照预定的先后次序运行),它们访问的资源有时需要互斥(一个时刻只允许一个线程访问资源),它们之间有时也要彼此交换数据。这些需求,有的是因为应用需求,有的是多线程编程模型带来的需求。

操作系统必须提供相应的机制来完成这些功能,我们把这些机制统称为进(线)程间通信(Internal Process Communication IPC) ,RT-Thread中的IPC机制包括信号量、互斥量、事件、邮箱、消息队列。
.
通过IPC机制,我们可以协调多个线程(包括ISR)“默契”的工作,从而共同完成一个整项工作。

2. 例子说信号量

 

以生活中的停车场为例来理解信号量的概念:

①当停车场空的时候,停车场的管理员发现有很多空车位,此时会让外面的车陆续进入停车场获得停车位;

②当停车场的车位满的时候,管 理员发现已经没有空车位,将禁止外面的车进入停车场,车辆在外排队等候;

③当停车场内有车离开时,管理员发现有空的车位让出,允许外面的车进入停车场;待空车位填满后,又禁止外部车辆进入。

在此例子中,管理员就相当于信号量,管理员手中空车位的个数就是信号量的值;停车位相当于公共资源,车辆相当于线程。车辆通过获得管理员的允许取得停车位,就类似于线程通过获得信号量访问公共资源

3. 信号量工作机制

 

信号量是一种轻型的用于解决线程间同步问题的内核对象ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值