[发明专利]实现Javascript多任务机制的方法和设备有效
申请号: | 201510381861.3 | 申请日: | 2015-07-02 |
公开(公告)号: | CN104991823B | 公开(公告)日: | 2019-05-17 |
发明(设计)人: | 夏万强 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 倪斌 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 javascript 任务 机制 方法 设备 | ||
1.一种用于实现Javascript多任务机制的方法,包括:
在Javascript环境中使用主动对象来模拟需要执行的一个或多个任务;以及
使用Javascript自身的事件循环机制对已由所述主动对象模拟的所述一个或多个任务进行执行调度,以分发任务的事件队列中的事件。
2.根据权利要求1所述的方法,还包括:
在进行执行调度之前,将所述主动对象注册到框架中。
3.根据权利要求1所述的方法,还包括:
所述主动对象接收相关事件,并将接收到的相关事件放入所述主动对象的事件队列中。
4.根据权利要求3所述的方法,其中,所述主动对象接收相关事件并将接收到的相关事件放入所述主动对 象的事件队列中包括:
定时检查业务定时器是否触发;以及
如果触发,将所述相关事件加入与所触发的业务定时器对应的主动对象的事件队列中。
5.根据权利要求3所述的方法,还包括:
当所述主动对象接收到所述相关事件时,设置Javascript定时为零的定时器任务,以将所述Javascript定时为零的定时器任务添加到Javascript自身的事件循环队列中;以及
使用Javascript自身的事件循环机制对所述Javascript定时为零的定时器任务进行执行调度。
6.根据权利要求1~5中任一项所述的方法,还包括:
根据所进行的执行调度,所述主动对象从所述主动对象的事件队列取出事件,并根据所述主动对象的当前状态对所取出的事件进行分发处理。
7.根据权利要求6所述的方法,其中,所述分发处理是按状态机的方式实现的。
8.一种用于实现Javascript多任务机制的设备,所述设备包括:
模拟模块,被配置为在Javascript环境中使用主动对象来模拟需要执行的一个或多个任务;以及
调度模块,被配置为使用Javascript自身的事件循环机制对已由所述主动对象模拟的所述一个或多个任务进行执行调度,以分发任务的事件队列中的事件。
9.根据权利要求8所述的设备,还包括:
注册模块,被配置为在所述调度模块进行执行调度之前,将所述主动对象注册到框架中。
10.根据权利要求8所述的设备,还包括:
收发模块,被配置为使所述主动对象接收相关事件,并将接收到的相关事件放入所述主动对象的事件队列中。
11.根据权利要求10所述的设备,还包括:
定时检测模块,被配置为定时检查框架的业务定时器是否触发,
其中,如果触发,所述收发模块使得将所述相关事件加入与所触发的业务定时器对应的主动对象的事件队列中。
12.根据权利要求10所述的设备,还包括:
定时模块,被配置为当所述主动对象接收到所述相关事件时,设置Javascript定时为零的定时器任务,以将所述Javascript定时为零的定时器任务添加到Javascript自身的事件循环队列中,
其中,所述调度模块使用Javascript自身的事件循环机制对所述Javascript定时为零的定时器任务进行执行调度。
13.根据权利要求8~12中任一项所述的设备,还包括:
执行模块,被配置为根据所述调度模块进行的执行调度,使所述主动对象从所述主动对象的事件队列取出事件,并根据所述主动对象的当前状态对所取出的事件进行分发处理。
14.根据权利要求13所述的设备,其中,所述执行模块按状态机的方式进行所述分发处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510381861.3/1.html,转载请声明来源钻瓜专利网。