FreeRtos笔记(四)

2、队列管理2.1概括如何创建一个队列队列如何管理其数据如何向队列发送数据如何从队列接收数据队列阻塞是什么意思往队列发送和从队列接收时,任务的优先级时什么样的影响2.2队列的特性(1)数据存储:有限个具有确定长度的数据单元先进先出往队列写入数据时通过字节拷贝把数据复制存储到队列中;从队列读出数据使得把队列中的数据拷贝删除(2)可被多任务存取队列时具有自己独立权限的内核对象,并不属于或赋予任何任务。所有任务都可以向同一队列写入和读出。一个队列由多方写入时常有的事情,但是多方读出比
摘要由CSDN通过智能技术生成

2、队列管理

2.1概括
如何创建一个队列
队列如何管理其数据
如何向队列发送数据
如何从队列接收数据
队列阻塞是什么意思
往队列发送和从队列接收时,任务的优先级时什么样的影响

2.2队列的特性

(1)数据存储:有限个具有确定长度的数据单元
先进先出

往队列写入数据时通过字节拷贝把数据复制存储到队列
中;从队列读出数据使得把队列中的数据拷贝删除

在这里插入图片描述
(2)可被多任务存取
队列时具有自己独立权限的内核对象,并不属于或赋予任何任务。所有任务都可以向同一队列写入和读出。一个队列由多方写入时常有的事情,但是多方读出比较少见。

(3)读队列时阻塞
✌️当某个任务试图 去读 一个队列
✌️设定阻塞超时时间,在这段时间内,如果队列数据为空,保持阻塞等待数据有效
✌️当有其他任务或中断服务例程往其等待的队列中写入了数据
✌️该任务自动由阻塞态转移为就绪态。
✌️当等待的时间超过了阻塞时间,即使队列五有效数据,任务也会自动从阻塞态转移为就绪态

由于队列可以被多个任务读取,一旦数据有效,只会有一个任务会被解除阻塞
这个任务就是所有等待任务中优先级最高的任务,而如果优先级相同,那么被解除阻塞的任务将是等待最久的任务。

(4)写队列时阻塞
同读队列意义,任务也可以在写队列时指定一个阻塞超时时间,这个时间
是当被写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值