3、任务管理单元
【摘要】 #任务管理模块的实现
任务的挂起与唤醒
任务的删除
任务的状态查询
#1、任务的挂起与唤醒
首先来看下实验效果
看下任务的优先级
任务1、挂起了自己
任务2、唤醒任务1
现在来分析程序:
void tTaskSuspend (tTask * task)
{
// 进入临界区
uint32_t status = tTaskEnterCr...
#任务管理模块的实现
- 任务的挂起与唤醒
- 任务的删除
- 任务的状态查询
#1、任务的挂起与唤醒
首先来看下实验效果
看下任务的优先级
任务1、挂起了自己
任务2、唤醒任务1
现在来分析程序:
void tTaskSuspend (tTask * task)
{
// 进入临界区
uint32_t status = tTaskEnterCritical();
// 不允许对已经进入延时状态的任务挂起
if (!(task->state & TINYOS_TASK_STATE_DELAYED))
{ // 增加挂起计数,仅当该任务被执行第一次挂起操作时,才考虑是否 // 要执行任务切换操作 if (++task->suspendCount <= 1) {
文章来源: xuesong.blog.csdn.net,作者:内核笔记,版权归原作者所有,如需转载,请联系作者。
原文链接:xuesong.blog.csdn.net/article/details/79257249
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)