CoOS使用教程——任务的状态

本文详细介绍了CoOS中任务的四种状态:就绪态、运行态、等待态、休眠态,并解释了为何要区分这些状态。通过实例演示如何使用CoGetCurTaskID()、CoSuspendTask()、CoAwakeTask()函数来操作任务状态,以优化CPU资源分配,避免应用间冲突导致的卡顿现象。

CoOS中,任务有四种状态,分别是:就绪态、运行态、等待态、休眠态。

为什么要分不同的状态?

目的就为了把CPU让给更有需要的任务,比如,你打开一个浏览器,又打开一个游戏(需要全屏),这样在你玩游戏的时候,就让浏览器这个任务挂起,以进入等待状态。

然后整个CPU都在为游戏服务,而不会出现卡顿现象。

同样的原理,也能运用在单片机当中。


1、CoGetCurTaskID(),获得任务ID号

OS_TID CoGetCurTaskID(void);

这个函数,只能用在任务内部,获得任务ID号之后,就可以让任务进入不同的状态了。

成功获得ID号的话,返回OS_TID变量。

2、CoSuspendTask(),挂起任务

StatusType CoSuspendTask(OS_TID taskID);

3、CoAwakeTask(),唤醒任务

StatusType CoAwakeTask(OS_TID taskID);

任务A挂起之后,它自己不能进入就绪态的,必须等其它任务唤醒它。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值