【技术实现步骤摘要】
本专利技术涉及计算机应用技术,特别是涉及一种异步任务处理方法和装置。
技术介绍
通常的输入输出(Input/Output,简称I/O)操作具有速度慢、不可预见的特点。如 果应用程序采用同步任务处理方法来执行I/O操作,则会放弃对正在完成实际工作的设备 的控制。例如,在应用程序从网络上获取数据的应用中,由于获取数据的速度以及是否能够 成功获取数据均与网络情况有关,所以无法预计该应用程序需要多长时间才能返回,导致 长时间放弃对设备的控制。因此,采用同步任务处理方法无法实现对设备的正确控制,需要 采用异步任务处理方法来执行I/O操作。目前的异步任务处理方法中,将一个任务的应用程序拆分成多个代码段。上述多 个代码段中,至少包括以下两个代码段一段用于发起异步请求,另一段用于异步完成后的 结果回调。然后,按照一定顺序,将上述多个代码段分别通过多个线程执行,每个线程执行 一个代码段。采用上述现有的异步任务处理方法,由于通过多个不同的代码段实现,上述多个 代码段分别在不同的线程中执行,各个代码段中分别采用不同的变量,因此,在多线程中共 享中间数据时,通常都通过参数传递的方式实现 ...
【技术保护点】
一种异步任务处理方法,其特征在于,包括:将任务拆分为至少两个子任务;根据每个子任务对应的代码段生成一个对象,将所述对象按预定顺序放入临时队列;执行所述临时队列中的各对象。
【技术特征摘要】
1.一种异步任务处理方法,其特征在于,包括将任务拆分为至少两个子任务;根据每个子任务对应的代码段生成一个对象,将所述对象按预定顺序放入临时队列;执行所述临时队列中的各对象。2.根据权利要求1所述的方法,其特征在于,所述执行所述临时队列中的各对象包括在同一线程中执行所述临时队列中的全部对象。3.根据权利要求1所述的方法,其特征在于,所述根据每个子任务对应的代码段生成一个对象包括将每个子任务对应的代码段在内存中的入口地址和该代码段的描述信息设置在对象中,并为该对象设置指针指向用于存放执行结果的内存位置;所述执行所述临时队列中的各对象包括根据各对象中的所述入口地址,执行该入口地址对应的代码段;将当前对象的执行结果存储到所述指针指向的内存位置。4.根据权利要求1至3中任意一项所述的方法,其特征在于,所述至少两个子任务包括发起异步请求子任务和结果回调子任务;所述按预定顺序放入临时队列包括所述发起异步请求子任务对应的对象位于所述结果回调子任务对应的对象之前。5.根据权利要求1至3中任意一项所述的方法,其特征在于,所述按预定顺序放入临时队列还包括在每一个所述对象之后设置“yield return”语句,用以标识当前对象执行完毕并启动执行下一个对象。6.根据权利要求1至3中任意一项所述的方法,其特征在于,所述方法还包括对临时队列中的各对象执行过程进行统一的异常处理,具体包括在所述执行所述临时队列中的各对象之前插入异常捕获操作;在所述执行所述临时队列中的各对象之后插入异常处理操作;则在所述执行所述临时队列中的各对象过程中,监控并捕获异常情况;当捕获到异常情况时,进行异常处理...
【专利技术属性】
技术研发人员:何庆明,
申请(专利权)人:北京新媒传信科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。