《鸿蒙智能互联设备开发(微课版)》 课件 4.3.2 任务管理接口及应用.pptx

《鸿蒙智能互联设备开发(微课版)》 课件 4.3.2 任务管理接口及应用.pptx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

4.3.2任务管理接口及应用

通过本节学习,您可以:了解任务管理接口说明及应用

任务管理接口及应用OpenHarmonyLiteOS-M内核的任务模块提供的功能:1.任务管理接口功能分类接口名接口描述创建和删除任务LOS_TaskCreateOnly创建任务,并使该任务进入suspend状态LOS_TaskCreate创建任务,并使该任务进入ready状态,如果就绪队列中没有更高优先级的任务,则运行该任务LOS_TaskDelete删除指定的任务

任务管理接口及应用1.任务管理接口功能分类接口名接口描述控制任务状态LOS_TaskResume恢复挂起的任务,使该任务进入ready状态LOS_TaskSuspend挂起指定的任务,然后切换任务LOS_TaskJoin挂起当前任务,等待指定任务运行结束并回收其任务控制块资源LOS_TaskDelay任务延时等待,释放CPU,等待时间到期后该任务会重新进入ready状态。传入参数为Tick数目LOS_Msleep任务延时等待,释放CPU,等待时间到期后该任务会重新进入ready状态。传入参数为毫秒数LOS_TaskYield当前任务时间片设置为0,释放CPU,触发调度运行就绪任务队列中优先级最高的任务OpenHarmonyLiteOS-M内核的任务模块提供的功能:

任务管理接口及应用功能分类接口名接口描述控制任务调度LOS_TaskLock锁任务调度,但任务仍可被中断打断LOS_TaskUnlock解锁任务调度LOS_Schedule触发任务调度控制任务优先级LOS_CurTaskPriSet设置当前任务的优先级LOS_TaskPriSet设置指定任务的优先级LOS_TaskPriGet获取指定任务的优先级OpenHarmonyLiteOS-M内核的任务模块提供的功能:1.任务管理接口

任务管理接口及应用功能分类接口名接口描述获取任务信息LOS_CurTaskIDGet获取当前任务的IDLOS_NextTaskIDGet获取任务就绪队列中优先级最高的任务的IDLOS_NewTaskIDGet获取任务就绪队列中优先级最高的任务的IDLOS_CurTaskNameGet获取当前任务的名称LOS_TaskNameGet获取指定任务的名称LOS_TaskStatusGet获取指定任务的状态LOS_TaskInfoGet获取指定任务的信息,包括任务状态、优先级、任务栈大小、栈顶指针SP、任务入口函数、已使用的任务栈大小等LOS_TaskIsRunning获取任务模块是否已经开始调度运行。任务信息维测LOS_TaskSwitchInfoGet获取任务切换信息,需要开启编译控制宏:LOSCFG_BASE_CORE_EXC_TSK_SWITCH。OpenHarmonyLiteOS-M内核的任务模块提供的功能:1.任务管理接口

任务管理接口及应用任务管理的一般开发流程如下:(1)锁任务调度LOS_TaskLock,防止高优先级任务调度。(2)创建任务LOS_TaskCreate。(3)解锁任务LOS_TaskUnlock,让任务按照优先级进行调度。(4)延时任务LOS_TaskDelay,任务延时等待。(5)挂起指定的任务LOS_TaskSuspend,任务挂起等待恢复操作。(6)恢复挂起的任务LOS_TaskResume。2.任务管理应用

任务管理接口及应用进行任务管理时的注意事项如下:执行Idle任务时,会对待回收链表中的任务控制块和任务栈进行回收。任务名是指针,并没有分配空间,在设置任务名时,禁止将局部变量的地址赋值给任务名指针。任务栈的大小按8字节大小对齐。确定任务栈大小的原则是,够用就行,多了浪费,少了任务栈溢出。挂起当前任务时,如果已经锁任务调度,则无法挂起。Idle任务及软件定时器任务不能被挂起或者删除。在中断处理函数中或者在锁任务的情况下,执行LOS_TaskDelay会失败。锁任务调度,并不关中断,因此任务仍可被中断打断。锁任务调度必须和解锁任务调度配合使用。设置任务优先级时可能会发生任务调度。

任务管理接口及应用可配置的系统最大任务数:整个系统的任务总个数,而非用户能使用的任务个数。例如:系统软件定时器多占用一个任务资源,那么用户能使用的任务资源就会减少一个。LOS_CurTaskPriSet和LOS_TaskPriSet接口不能在中断中使用,也不能用于修改软件定时器任务的优先级。LOS_TaskPriGet接口传入的taskID对应的任务未创建或者超过最大任务数,统一返回-1。在删除任务时要保证任务申请的资源(如互斥锁、信号量等)已被释放。

任务管理接口及应用具体代码如下:#includestdio.h#includelos_task.h#

您可能关注的文档

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档