[发明专利]一种任务执行方法和装置有效
申请号: | 201410832194.1 | 申请日: | 2014-12-27 |
公开(公告)号: | CN104572262B | 公开(公告)日: | 2018-09-04 |
发明(设计)人: | 陈宗志;王超;陈营;李明昊;宋昭 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 刘祥景 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 任务 执行 方法 装置 | ||
本发明实施例提供了一种任务执行方法和装置,其中的方法具体包括:将任务分解为多个子任务;将所述多个子任务及其对应任务信息写入缓冲区;以及利用多线程依据所述子任务对应任务信息执行所述缓冲区中子任务。本发明实施例的多线程可以并行执行子任务对应的操作,因此,能够大大提升执行任务执行的效率。
技术领域
本发明涉及网络通信技术领域,特别是涉及一种任务执行方法和装置。
背景技术
在网络通信领域,客户端经常存在向服务器发送多条数据的需求。
现有客户端向服务器发送多条数据的过程具体可以包括:首先向服务器发送一条数据,在接收到服务器返回的响应信息后,再向服务器发送下一条数据。然而,受网络延迟、网络堵塞等因素的影响,从向服务器发送一条数据,到服务器返回响应信息,需要经历较长的时间,在该时间内客户端需要等待,这无疑影响了数据传输的效率。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种任务执行方法和装置。
依据本发明的一个方面,提供了一种任务执行方法,包括:
将任务分解为多个子任务;
将所述多个子任务及其对应任务信息写入缓冲区;以及
利用多线程依据所述子任务对应任务信息执行所述缓冲区中子任务。
可选地,所述利用多线程依据所述子任务对应数据执行所述缓冲区中子任务的步骤,包括:
各线程在处于空闲状态时,扫描所述缓冲区;以及
在扫描到新的子任务时,从所述缓冲区中读取并执行所述新的子任务。
可选地,所述任务信息包括:任务标识;
则所述利用多线程依据所述子任务对应数据执行所述缓冲区中子任务的步骤,包括:
各线程扫描所述缓冲区;
在扫描到新的子任务时,各线程判断所述新的子任务的任务标识与自身是否匹配;以及
在所述新的子任务的任务标识与自身的线程标识匹配时,从所述缓冲区中读取并执行所述新的子任务。
可选地,所述任务信息包括:任务标识;
则所述将所述多个子任务及其对应任务信息写入缓冲区的步骤,包括:
将每个子任务写入与其对应任务标识相匹配的线程对应子缓冲区;
则所述利用多线程依据所述子任务对应数据执行所述缓冲区中子任务的步骤,包括:
各线程从对应子缓冲区中读取子任务及其对应任务信息,并依据所述子任务对应数据执行所述子任务。
可选地,所述子任务的任务标识与所述线程匹配包括:所述子任务的任务标识对于多线程数目的取模结果等于所述线程的线程标识。
根据本发明的另一方面,提供了一种任务执行装置,包括:
分解模块,用于将任务分解为多个子任务;
写入模块,用于将所述多个子任务及其对应任务信息写入缓冲区;以及
执行模块,用于利用多线程依据所述子任务对应任务信息执行所述缓冲区中子任务。
可选地,所述执行模块,包括:
第一扫描子模块,用于在各线程处于空闲状态时,扫描所述缓冲区;以及
第一读取子模块,用于在扫描到新的子任务时,从所述缓冲区中读取并执行所述新的子任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410832194.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:控制应用运行的方法和移动终端设备
- 下一篇:虚拟机动态保存快照的方法