大家好,到月底了,流光又给大家带来在 RT-Thread 遇到比较棘手的问题时候,快速解决问题的 "骚操作"了,废话不多说我们直接进入正题。
精彩回顾
RT-Thread "骚操作"之编写优雅的命令行程序
RT-Thread "骚操作"之内存泄漏定位
1. 信号量简介
在 RT-Thread 上开发者除了线程使用最频繁之外一般就数 IPC 使用的最多了。信号量作为 IPC 中最基础和简单的一种, 是开发者爱不释手的一套开发逻辑的工具。那么笔者就在这里先简单说明下到底什么是信号量。
信号量是一种轻量的用于解决线程之间同步问题的内核对象,线程可以获取 (take) 或释放 (release) 它,从而达到同步或互斥的目的。以生活中的停车场为例来理解信号量的概念:
1. 当停车场空的时候,停车场的管理员发现有很多空车位,此时会让外面的车陆续进入停车场获得停车位;
2. 当停车场的车位满的时候,管理员发现已经没有空车位,将禁止外面的车进入停车场,车辆在外排队等候;
3. 当停车场内有车离开时,管理员发现有空的车位让出,允许外面的车进入停车场;待空车位填满后,又禁止外部车辆进入。