[发明专利]一种通过线程管理提高多任务处理效率的方法有效
申请号: | 201010517150.1 | 申请日: | 2010-10-22 |
公开(公告)号: | CN102455933A | 公开(公告)日: | 2012-05-16 |
发明(设计)人: | 张利 | 申请(专利权)人: | 深圳市科陆电子科技股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 广州中浚雄杰知识产权代理有限责任公司 44254 | 代理人: | 周永强 |
地址: | 518000 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通过 线程 管理 提高 任务 处理 效率 方法 | ||
1.一种通过线程管理提高多任务处理效率的方法,其特征在于:在JAVA平台的任务管理系统中,利用单线程中的任务对象来实现多线程操作,具体方法如下:
S101)创建任务调度器;
S102)创建任务对象,并将其添加到任务调度器中注册;
S103)启动任务调度器;
S104)任务调度器通过异步函数处理不同任务事件;
S105)异步处理完任务事件,通知任务对象处理结果;
S106)任务对象向任务调度器发起注销请求,从任务调度器中去掉任务对象。
2.根据权利要求1所述的一种通过线程管理提高多任务处理效率的方法,其特征在于:所述步骤S101)中,任务调度器提供标准任务对象注册接口和处理任务对象接口。
3.根据权利要求1所述的一种通过线程管理提高多任务处理效率的方法,其特征在于:所述步骤S102)中,任务调度器接收服务提供者发送的异步事件并将其分发到任务对象。
4.根据权利要求1所述的一种通过线程管理提高多任务处理效率的方法,其特征在于:所述步骤S102)中,任务调度器调用Add()静态函数将任务对象添加到调度队列中。
5.根据权利要求1所述的一种通过线程管理提高多任务处理效率的方法,其特征在于:所述步骤S102)中,任务对象继承与任务对象一个抽象类,其派生任务对象类必须实现DoCancel()函数和RunL()函数,DoCancel()函数用于取消异步请求,RunL()函数就是任务对象的事件处理函数。
6.根据权利要求1所述的一种通过线程管理提高多任务处理效率的方法,其特征在于:所述步骤S102)中,将任务对象设定优先级,任务对象的运行是非抢占式的,当一个任务对象的RunL()执行时,任务调度器就无法分发其他异步事件,两个任务对象不会同时运行。
7.根据权利要求1所述的一种通过线程管理提高多任务处理效率的方法,其特征在于:所述步骤S103)中,向任务调度器发送异步请求,启动任务调度器,并由任务调度器分发的任务对象异步事件进行处理,同时将任务对象设置为激活状态。
8.根据权利要求1所述的一种通过线程管理提高多任务处理效率的方法,其特征在于:所述步骤S104)中,任务调度器最先接收到该异步请求,随后从任务队列中选出处于激活状态而且优先级最高的任务对象,将其状态设置为非激活的,然后将事件分发给他处理。
9.根据权利要求1所述的一种通过线程管理提高多任务处理效率的方法,其特征在于:所述步骤S105)中,任务调度器根据RunL()执行的结果,向任务对象发起通知事件,通知处理事件的结果状态,任务调度器还会捕获RunL()函数抛出的异常,并调用任务对象的RunError()函数处理该异常。
10.根据权利要求1所述的一种通过线程管理提高多任务处理效率的方法,其特征在于:所述步骤S106)中,任务对象提供Deque()函数将任务对象从任务调度器中的队列上移除,在移除之前,Deque()函数会调用Cancel()函数取消异步请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市科陆电子科技股份有限公司,未经深圳市科陆电子科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010517150.1/1.html,转载请声明来源钻瓜专利网。