PX4/Pixhawk 教程 - 任务线程 - workqueue 和 task

介绍

一个完整的px4的应用程序(或者叫任务)分为前台部分和后台部分,前台部分是跑在shell任务中的,比如helloworld那个程序就只有前台部分,敲入指令即可在ssh中运行,前台部分一般是用来测试或者启动后台任务。

px4的后台任务主要油两种,一种叫任务(Tasks),一种叫工作队列(Work queue tasks)。两者的主要区别是任务拥有独立的栈空间和进程优先级,而工作队列是跑在一个统一的进程里的多个线程,共享优先级、栈空间。

优缺点对比

任务:优点是可以保证优先级的切换;可以进行阻塞操作;

工作队列:优点是消耗更少的RAM和cpu(因为避免了任务切换);时基实时性好,支持定时任务,适合周期性的传感器数据读取;

时基实时性,比如一个任务需要在t1,t2,t3,t4时刻进行操作,有的任务希望保证t2-t1,t3-t2,t4-t3这种相对时间间隔的准确性,这种场景任务更适合;而有的任务希望保证t2-t1,t3-t1,t4-t1这种相对于初始时刻的绝对时间的准确性,这种场景下工作队列更适合。

任务(Tasks)

任务的特点:

  • 拥有独立的栈空间;
  • 低优先级的任务会
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值