版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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。在删除任务时要保证任务申请的资源(如互斥锁、信号量等)已被释放。任务管理接口及应用具体代码如下:#include<stdio.h>#include"los_task.h"#include"ohos_init.h"#include"ohos_types.h"
任务管理的应用:基本的任务操作方法,包含2个不同优先级任务的创建、任务延时、任务锁与解锁调度、挂起和恢复等操作。任务管理接口及应用具体代码如下:#include<stdio.h>#include"los_task.h"#include"ohos_init.h"#include"ohos_types.h"
/**每隔1秒输出“hellohi3861”函数**/
voidTask_hello_hi3861(void){
while(1){
printf("Hellohi3861!!!\r\n");LOS_Msleep(1000);
}
}
/**每隔2秒输出“helloohos”函数**/
voidTask_hello_ohos(void){
while(1){
printf("Helloohos!!!\r\n");
LOS_Msleep(2000);
}}任务管理接口及应用
/**任务创建函数**/
voidTask_hi(void)
{
unsignedinttask_ohos;//ohos任务ID
unsignedinttask_hi3861;//hi3861任务ID
TSK_INIT_PARAM_Staskoh;//定义ohos任务结构体
TSK_INIT_PARAM_Staskhi;//定义hi3861任务结构体
taskoh.pfnTaskEntry=(TSK_ENTRY_FUNC)Task_hello_ohos;//任务函数
taskoh.uwStackSize=1028;//任务堆栈
taskoh.pcName="Task_hello_ohos";//任务名称
taskoh.usTaskPrio=12;//任务优先级
/**创建任务**/
if(LOS_TaskCreate(&task_ohos,&taskoh)!=LOS_OK)
{
printf("Task_hello_ohoscreateFailed!\r\n");
}任务管理接口及应用
taskhi.pfnTaskEntry=(TSK_ENTRY_FUNC)Task_hello_hi3861;//任务函数
taskhi.uwStackSize=1028;//任务堆栈
taskhi.pcName="Task_hello_hi3861";//任务名称
taskhi.usTaskPrio=13;//任务优先级
/**创建任务**/
if(LOS_Ta
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026四川省环境工程评估中心考核招聘专业技术人员3人笔试题库含答案详解(精练)
- 2026上海城建职业学院招聘15人笔试题库(典型题)附答案详解
- 2026水电水利规划设计总院招聘1人备考题库附参考答案详解(夺分金卷)
- 2026绵阳融资担保集团有限责任公司延长招聘业务经理等岗位3人(7-23)考前冲刺密卷【全优】附答案详解
- 2026贵州毕节赫章县人力资源和社会保障局招聘公益性岗位人员1人考前冲刺密卷附参考答案详解【巩固】
- 2026山西太原市万柏林区林业发展中心防灭火队员招聘35人笔试题库附答案详解【预热题】
- 2026-2027重庆市田家炳中学上期非编教师招聘16人笔试题库附参考答案详解【黄金题型】
- 2026江西南昌高新开发区诚聘IT行业项目管理工程师外包岗位1人考前冲刺试卷附完整答案详解【网校专用】
- 2026广西河池市罗城仫佬族自治县市场监督管理局招聘就业见习人员6人模拟试卷及参考答案详解【黄金题型】
- 2026上海市嘉定区卫生健康系统高层次卫生专业技术人才招聘14人(第二批)考前冲刺试卷附答案详解(满分必刷)
- 2026年美妆个护行业洞察数据报告
- 安徽芜湖2026年无为市泉塘镇村级后备干部招聘考试试卷-含答案解析
- 2026年安徽省产品质量监督检验研究院见习人员招募备考题库及答案详解(历年真题)
- 全域投放设高跑低解决思路与投产提升法则
- 陇西国家基本气象站迁建项目水土保持报告表
- 2026年水发集团社会招聘249人笔试备考试题及答案解析
- 2026年三力测试全真模拟试题集
- 码垛作业安全操作规程
- 2026年审计法相关知识竞赛经典例题附答案详解【考试直接用】
- 2026年职业教育法考试题库及答案
- 落实意识形态责任制制度
评论
0/150
提交评论