![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
RT-Thread
SimpleJY
因为热爱,所以专业
展开
-
【原理】RT-Thread内部IPC之互斥量
互斥量又称互斥型信号量,是一种特殊的二值信号量。即只有开锁、闭锁状态。当一个线程占用这个互斥量时,另外的线程需等待互斥量的释放。适用于资源互锁,任务同步。 它与信号量不同的是:在RT-Thread中,为了降低优先级反转问题,利用了优先级继承算法。优先级继承算法:当使用互斥量的线程优先级比较低,而等待互斥量信号线程中的最高优先级比前者高时,运行的线程则会提高优先级。优先运行。 ...原创 2019-01-06 18:15:47 · 272 阅读 · 2 评论 -
【原理】RT-Thread内部IPC之信号量
关于操作系统,FreeRTOS也好,UCOS也好,再或者是RT-Thread,都有任务间的通讯机制(简称IPC),分别有:信号量,互斥量,事件邮箱,消息队列。从裸机转向操作系统,我们便需要学习他们,下面,简单总结一下信号量的原理与使用的好处。 裸机下开发:任务间的通讯通常我们都是使用一个变量,任务是否执行前,我们都会先去判断这个变量是否为true。这样便会造成:1,实时性不高,若我们的任务...原创 2018-12-27 21:39:36 · 442 阅读 · 0 评论 -
【原理】RT-Thread内部IPC之邮箱
邮箱,在生活中可以用来传递资料、信息,在操作系统中,任务间的通讯也有邮箱,此邮箱与生活用的邮箱有异曲同工之处,都可以用来传递信息,不同的便是使用环境不同。RT-Thread的邮箱,每一封邮箱只能容纳4个字节内容(针对32位处理器,指针大小即4个字节,刚好能容纳一个指针),当发送的内容超过4个字节时,可传递内容的地址。 邮箱的特性:1,创建时,线程阻塞排序均可以选择优先级 or FI...原创 2019-01-11 16:57:02 · 378 阅读 · 0 评论 -
【原理】RT-Thread内部IPC之事件
事件也是线程间通讯的一种方式,可实现线程间同步。事件与信号量各有千秋,可用于不同的场景。RT-Thread事件使用的是32位无符号整形变量来表示,每一位代表一个事件,线程通过“逻辑与”、“逻辑或”对一个或多个事件建立关联。 事件与信号量不同的是:1,可以实现一对多,多对多,多对一,例如,一次出游,出游前需要等待所有人员、装备到齐,才能出发。而信号量只能实现一对一,当线程获取到信号量...原创 2019-01-10 11:44:13 · 530 阅读 · 0 评论