[发明专利]基于C语言实现管理软件多任务的方法有效
申请号: | 201910445168.6 | 申请日: | 2019-05-27 |
公开(公告)号: | CN110147247B | 公开(公告)日: | 2023-01-24 |
发明(设计)人: | 黄波;陈河;唐玉建;李涛;张振 | 申请(专利权)人: | 北京智芯微电子科技有限公司;国网信息通信产业集团有限公司 |
主分类号: | G06F8/71 | 分类号: | G06F8/71;G06F8/10;G06F8/30 |
代理公司: | 北京兴智翔达知识产权代理有限公司 11768 | 代理人: | 张玉梅 |
地址: | 100192 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 语言 实现 管理软件 任务 方法 | ||
本发明公开了一种基于C语言实现管理软件多任务的方法,包括如下步骤:(a)根据需求确定任务ID、任务类型、初始化入口函数和退出函数,进行单个任务的归集(TCB)任务的创建;(b)向TCB中注册任务ID的命令集合,以便根据不同的ID命令来适配不同的任务处理流程;(c)根据不同的ID命令注册与服务器连接的不同的处理函数;(d)将完成处理函数注册的TCB的任务添加到任务管理链表,并将任务ID的运行状态置位;(e)通过任务ID在TCB任务管理链表中找到对应任务ID的处理函数,设置运行标注位,并启动运行;以及(f)重复步骤(a)~(e),进行下一任务的创建。本发明的方法能够兼容之前代码而进行快速迭代开发,提高了调试效率。
技术领域
本发明是关于实现多个任务的智能管理方法,特别是关于一种基于C语言实现管理软件多任务的方法。
背景技术
软件功能的实现是由程序来实现,在实际编程过程中,会根据总体设计或者用户的需求来进行功能开发。然而,由于很多时候都是多任务开发,开发过程中或者开发完成后,往往会出现先前的规划不够全面或者用户增加需要时,这样开发人员会在原有代码上进行迭代开发,这样单个函数的体积就会越来越大,随之而来的就是出现各式各样的bug,旧的bug尚未解决,新写的代码又会引入各种不确定的bug隐患,调试过程更是苦不堪言,后来接手的开发人员往往需要通读前面开发所写的代码才能继续进行开发,这严重影响了开发人员的开发效率,影响开发进度,也给产品稳定性增加了很多不确定性。
基于现有功能进行程序开发时,当需求变更时,软件开发会增加新的任务处理,因此存在有如下的缺点:
1、单个函数功能越来越多,代码量越来越大。
2、新老bug交织在一起,调试起来需要区分是之前遗留bug,还是增加代码新引入的bug,增加了调试难度。
3、后来接手开发的人员需要通读之前开发的代码,由于编程风格和习惯问题,往往顺利接手需要时日,影响开发效率。
4、代码封装性不好,可移植性差。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本发明的目的在于提供一种基于C语言实现管理软件多任务的方法,其能够兼容之前代码而进行快速迭代开发,提高了调试效率。
为实现上述目的,本发明提供了一种基于C语言实现管理软件多任务的方法,包括如下步骤:(a)根据需求确定任务ID、任务类型、初始化入口函数和退出函数,进行单个任务的归集(TCB)任务的创建;(b)向TCB中注册任务ID的命令集合,以便根据不同的ID命令来适配不同的任务处理流程;(c)根据不同的ID命令注册与服务器连接的不同的处理函数;(d)将完成处理函数注册的TCB的任务添加到任务管理链表,并将任务ID的运行状态置位;(e)通过任务ID在TCB任务管理链表中找到对应任务ID的处理函数,设置运行标注位,并启动运行;以及(f)重复步骤(a)~(e),进行下一任务的创建。
在一优选的实施方式中,基于C语言实现管理软件多任务的方法还包括:通过注册的ID任务接收数据,任务管理器根据不同的任务ID进行任务的调度派发,调度函数根据不同的任务类型进行相应数据的拷贝和处理。
在一优选的实施方式中,基于C语言实现管理软件多任务的方法还包括:如果任务处理过程中出现异常,则根据任务ID中相应的错误码调取相应的错误处理函数。
在一优选的实施方式中,任务类型包括监听、短处理、长处理。
在一优选的实施方式中,在与服务器连接的处理函数中建立线程来处理与服务器通讯数据,并且其中,任务ID与处理函数一一对应。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京智芯微电子科技有限公司;国网信息通信产业集团有限公司,未经北京智芯微电子科技有限公司;国网信息通信产业集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910445168.6/2.html,转载请声明来源钻瓜专利网。