CN103019806A - 一种异步任务处理方法和装置 - Google Patents
一种异步任务处理方法和装置 Download PDFInfo
- Publication number
- CN103019806A CN103019806A CN2011102846590A CN201110284659A CN103019806A CN 103019806 A CN103019806 A CN 103019806A CN 2011102846590 A CN2011102846590 A CN 2011102846590A CN 201110284659 A CN201110284659 A CN 201110284659A CN 103019806 A CN103019806 A CN 103019806A
- Authority
- CN
- China
- Prior art keywords
- interim formation
- task
- code segment
- formation
- subtask
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种异步任务处理方法。首先将任务拆分为至少两个子任务,根据每个子任务对应的代码段生成一个对象,将对象按预定顺序放入临时队列;然后,执行上述临时队列中的各对象。本发明还公开了一种异步任务处理装置。采用本发明公开的异步任务处理方法和装置,能够提高任务的处理效率。
Description
技术领域
本发明涉及计算机应用技术,特别是涉及一种异步任务处理方法和装置。
背景技术
通常的输入输出(Input/Output,简称I/O)操作具有速度慢、不可预见的特点。如果应用程序采用同步任务处理方法来执行I/O操作,则会放弃对正在完成实际工作的设备的控制。例如,在应用程序从网络上获取数据的应用中,由于获取数据的速度以及是否能够成功获取数据均与网络情况有关,所以无法预计该应用程序需要多长时间才能返回,导致长时间放弃对设备的控制。因此,采用同步任务处理方法无法实现对设备的正确控制,需要采用异步任务处理方法来执行I/O操作。
目前的异步任务处理方法中,将一个任务的应用程序拆分成多个代码段。上述多个代码段中,至少包括以下两个代码段:一段用于发起异步请求,另一段用于异步完成后的结果回调。然后,按照一定顺序,将上述多个代码段分别通过多个线程执行,每个线程执行一个代码段。
采用上述现有的异步任务处理方法,由于通过多个不同的代码段实现,上述多个代码段分别在不同的线程中执行,各个代码段中分别采用不同的变量,因此,在多线程中共享中间数据时,通常都通过参数传递的方式实现,存在数据共享操作复杂且效率低下的问题。另外,在处理异常以及释放资源时,需要在多个代码段中分别设置异常处理和资源释放操作,实现方式复杂,无法实现统一的异常处理和资源释放。总之,现有的异步任务处理方法,存在对数据共享、异常处理和资源释放等操作均无法实现统一控制,从而导致处理复杂且效率低下的问题。
发明内容
本发明提供了一种异步任务处理方法和装置,用以提高异步任务处理技术的处理效率、降低其处理复杂度。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种异步任务处理方法,包括:
将任务拆分为至少两个子任务;
根据每个子任务对应的代码段生成一个对象,将所述对象按预定顺序放入临时队列;
执行所述临时队列中的各对象。
所述执行所述临时队列中的各对象包括:
在同一线程中执行所述临时队列中的全部对象。
所述根据每个子任务对应的代码段生成一个对象包括:将每个子任务对应的代码段在内存中的入口地址和该代码段的描述信息设置在对象中,并为该对象设置指针指向用于存放执行结果的内存位置;
所述执行所述临时队列中的各对象包括:根据各对象中的所述入口地址,执行该入口地址对应的代码段;将当前对象的执行结果存储到所述指针指向的内存位置。
所述至少两个子任务包括:发起异步请求子任务和结果回调子任务;
所述按预定顺序放入临时队列包括:所述发起异步请求子任务对应的对象位于所述结果回调子任务对应的对象之前。
所述按预定顺序放入临时队列还包括:
在每一个所述对象之后设置“yield return”语句,用以标识当前对象执行完毕并启动执行下一个对象。
所述方法还包括对临时队列中的各对象执行过程进行统一的异常处理,具体包括:
在所述执行所述临时队列中的各对象之前插入异常捕获操作;在所述执行所述临时队列中的各对象之后插入异常处理操作;
则在所述执行所述临时队列中的各对象过程中,监控并捕获异常情况;当捕获到异常情况时,进行异常处理,结束。
所述执行所述临时队列中的各对象之后,还包括:
对所述临时队列中的各对象统一进行资源释放。
一种异步任务处理装置,包括:
任务设置单元,用于将任务拆分为至少两个子任务,根据每个子任务对应的代码段生成一个对象,将所述对象按预定顺序放入临时队列;
任务执行单元,用于执行所述临时队列中的各对象。
所述任务设置单元具体用于将任务拆分为至少两个子任务;将每个子任务对应的代码段在内存中的入口地址和该代码段的描述信息设置在对象中,并为该对象设置指针指向用于存放执行结果的内存位置;将所述对象按预定顺序放入临时队列;
所述任务设置单元还用于在每一个所述对象之后设置“yieldreturn”语句,用以标识当前对象执行完毕并启动执行下一个对象;
所述任务执行单元具体用于根据各对象中的入口地址,执行该入口地址对应的代码段;将当前对象的执行结果存储到当前对象的指针指向的内存位置。
所述装置还包括:
异常处理单元,用于对临时队列中的各对象执行过程进行统一的异常处理;具体包括:
异常捕获模块,用于在执行所述临时队列中的各对象之前插入异常捕获操作,用以在执行所述临时队列中的各对象过程中监控并捕获异常情况;和
异常处理模块,用于在执行所述临时队列中的各对象之后插入异常处理操作;,在执行所述临时队列中的各对象过程中监控并捕获异常情况,当所述异常捕获模块捕获到异常情况时,进行异常处理,结束;
和/或,
资源释放单元,用于对所述临时队列中的各对象统一进行资源释放。
由上述可见,将一个任务对应的全部代码拆分成多个代码段,将多个代码段对应的对象放置在临时队列中,通过执行该临时队列实现在一个线程中统一执行上述多个对象对应的代码段。因此可以在该线程中通过变量进行数据共享,数据共享的效率高,并且可以很简单直观的通过对该临时队列统一进行异常处理和/或资源释放来实现对多个代码段进行统一的异常处理和/或资源释,从而能够简化处理过程且提高任务的处理效率。
附图说明
图1是本发明实施例一的异步任务处理方法的流程图;
图2是本发明实施例二的异步任务处理方法的流程图;
图3是本发明实施例三的异步任务处理装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明的基本思想是:将一个任务对应的全部代码拆分成多个代码段,将多个代码段放置在临时队列中,通过执行该临时队列来统一执行上述多个代码段。以下通过本发明实施例一至本发明实施例三对本发明提出的异步任务处理方法和装置进行详细说明。
图1是本发明实施例一的异步任务处理方法的流程图。如图1所示,该方法包括如下过程。
步骤101:将任务拆分为至少两个子任务。
步骤102:根据每个子任务对应的代码段生成一个对象,将该至少两个对象按预定顺序放入临时队列。
在步骤101和步骤102中,首先,将一个任务对应的全部代码拆分成至少2个代码段,每个代码段对应临时队列中的一个对象。较佳地,可以以该任务中的各子任务来划分代码段,将该任务中的每一个子任务对应的代码分别作为一个代码段,比如该子任务可以是用于发起异步请求的子任务对应的代码段。相应地,还可以是用于结果回调的子任务对应的代码段。进一步地,还可以包括用于其它操作的子任务对应的代码段,等等。然后,将上述拆分获得的多个代码段对应的多个对象放置到临时队列中。较佳地,可以按照各个对象对应的代码段在该任务的全部代码中的顺序,将上述多个对象排列在临时队列中。按照上述设置方法进行设置后,临时队列中包括至少2个对象,每个对象对应一个代码段,该临时队列的至少2个对象对应的至少2个代码段组成上述任务对应的代码。
步骤103:执行上述临时队列中的各对象。
在本步骤中,通过执行该临时队列,对上述排列在该临时队列中的多个对象实现统一执行。较佳地,在执行该临时队列时,在一个线程中按照队列的先入先出原则执行上述临时队列中的各对象。
以上通过本发明实施例一对本发明的异步任务处理方法进行了简要介绍,以下进一步通过本发明实施例二详细说明本发明的异步任务处理方法。
图2是本发明实施例二的异步任务处理方法的流程图。如图2所示,该方法包括如下过程。
步骤201:将任务拆分为至少两个子任务。
步骤202:根据每个子任务对应的代码段生成一个对象,将该至少两个对象按预定顺序放入临时队列。
在步骤201和步骤202中,将一个任务对应的全部代码拆分成多个代码段,每个代码段对应临时队列中的一个对象。具体过程可以参见本发明实施例一中对于步骤101和步骤102的描述。
具体地,上述至少两个子任务中至少包括发起异步请求子任务和结果回调子任务。在将子任务对应的对象按预定顺序放入临时队列时,上述发起异步请求子任务对应的对象位于上述结果回调子任务对应的对象之前。
在将任务划分为多个代码段后,一种较佳的具体实施方式为采用“yield”关键字设置临时队列,具体地,在上述临时队列中,依次放入组成该任务的每一个代码段对应的对象,并且,在上述放入对象的过程中,或者在上述放入对象的过程之后,在每一个对象之后设置“yield return”语句,通过该“yield return”语句标识当前对象执行完毕并启动执行下一个对象。
步骤203:执行上述临时队列中的各对象。
在本步骤中,通过执行该临时队列,对上述排列在该临时队列中的多个对象实现统一执行。较佳地,在执行该临时队列时,在一个线程中按照队列的先入先出原则执行上述临时队列中的各对象。
具体地,在步骤202中,根据每个子任务对应的代码段生成一个对象的具体可以采用如下方法:将每个子任务对应的代码段在内存中的入口地址和该代码段的描述信息设置在对象中,并为该对象设置指针指向用于存放执行结果的内存位置。其中,每个对象中的描述信息记录该对象对应的代码段所执行的具体操作。相应地,在步骤203中,执行上述临时队列中的各对象时,对于该临时队列中的每一个对象,根据该对象中的入口地址,执行该入口地址对应的代码段,并且,将当前对象的执行结果存储到当前对象的指针指向的内存位置,以供以后执行的对象需要时可以从该内存位置直接获取该对象的执行结果。例如,在执行第一个对象时,将第一个对象的执行结果存储到指针指向的内存位置;在执行第二个对象时,如果第二个对象对应的代码段中需要用到第一个对象的执行结果,则从该内存位置获取第一个对象的执行结果,并且,在第二个对象执行完毕后将第二个对象的执行结果存储到该内存位置;在依次执行后续的对象时,采用与上述执行第二个对象时相同的方法执行,以此类推。
在执行该临时队列时,首先执行该队列中第一个对象的代码段,根据第一个对象后的上述“yield return”语句,等待该第一个对象的代码段执行完毕,并且在第一个对象的代码段执行完毕后,进入执行第二个对象的代码段;类似地,根据第二个对象后的上述“yield return”语句,等待该第二个对象的代码段执行完毕,并且在第二个对象的代码段执行完毕后,进入执行第三个对象的代码段;依此类推,直到该临时队列中的最后一个对象的代码段执行完毕,完成上述临时队列的执行过程。采用上述“yield return”语句,则该临时队列的各个对象中的代码段描述信息均返回到“IEnumerator”接口中。从而该“IEnumerator”接口实现迭代器的功能。采用上述yield关键字和“IEnumerator”接口,执行上述临时队列中的每个对象相当于调用一次迭代器的“MoveNext”方法,在执行完一个对象之后,通过“yield return”语句返回,在执行下一个对象时,再一次调用迭代器的“MoveNext”方法,则接着该“yield return”语句的下一行继续执行。
上述本发明实施例一的步骤101至步骤103以及本发明实施例二的步骤201至步骤203记载了本发明提出的异步任务处理方法的基本过程,在上述技术方案的基础上,当采用本发明提出的异步任务处理方法时,对于该任务中的异常处理和/或资源释放操作,可以采用对同步任务处理方法所采用的异常处理和/或资源释放操作进行处理,直接对上述临时队列进行异常处理和/或资源释放,从而能够对临时队列中的多个对象统一执行异常处理和/或资源释放。具体地,在执行步骤203的同时,还可以执行以下步骤进行异常处理的步骤;在执行步骤203之后,还可以执行以下进行资源释放的步骤。
优选的,本方法实施例还进一步包括对临时队列中的各对象执行过程进行统一的异常处理,具体包括:在执行上述临时队列中的各对象之前插入异常捕获操作;在执行上述临时队列中的各对象之后插入异常处理操作。则,在执行上述临时队列中的各对象的过程中,监控并捕获异常情况。当捕获到异常情况时,进行异常处理,然后结束。
在上述对临时队列中的各对象执行过程进行统一的异常处理的过程中,可以采用“try”关键字、“catch”关键字、“finally”关键字直接对上述临时队列进行异常处理。例如,在执行上述临时队列中的各对象之前插入“try”关键字,则在执行上述临时队列中的各对象的过程中同时监控并捕获异常情况。在执行上述临时队列中的各对象之前插入“catch”关键字,则当捕获到异常情况时进行异常处理。从而可以实现对该临时队列中的各个对象统一进行异常处理。
再进一步的,本方法实施例还进一步包括对临时队列中的各对象执行过程进行统一的资源释放的步骤,具体的,在步骤203:执行上述临时队列中的各对象之后,执行:
对上述临时队列中的各对象统一进行资源释放。
具体地,在对上述临时队列中的各对象统一进行资源释放的过程中,可以采用“using”关键字直接对上述临时队列进行资源释放。
以上对本发明提出的异步任务处理方法进行了介绍,以下对采用上述方法进行任务处理的异步任务处理装置进行说明。
图3是本发明实施例三的异步任务处理装置的结构示意图。如图3所示,该装置至少包括:任务设置单元31和任务执行单元32;进一步地,在包括任务设置单元31和任务执行单元32的基础上,还可以包括以下组成单元中的任意一种或几种的组合:异常处理单元33、资源释放单元34。
其中,任务设置单元31设置任务对应的临时队列,任务设置单元31将任务拆分为至少两个子任务,根据每个子任务对应的代码段生成一个对象,将至少两个所述对象按预定顺序放入临时队列。其中,该临时队列中包括至少2个对象,每个对象对应一个代码段,该临时队列的上述至少2个对象对应的至少2个代码段组成该任务对应的代码。
具体地,任务设置单元31具体用于将任务拆分为至少两个子任务;将每个子任务对应的代码段在内存中的入口地址和该代码段的描述信息设置在对象中,并为该对象设置指针指向用于存放执行结果的内存位置;将所述对象按预定顺序放入临时队列;
所述任务设置单元还用于在每一个所述对象之后设置“yieldreturn”语句,用以标识当前对象执行完毕并启动执行下一个对象;
所述任务执行单元具体用于根据各对象中的入口地址,执行该入口地址对应的代码段;将当前对象的执行结果存储到当前对象的指针指向的内存位置。
具体的,任务设置单元依次设置组成上述任务的每一个代码段对应的对象,并在每一个上述对象的执行语句之后设置“yieldreturn”语句,以标识当前对象执行完毕并启动执行下一个对象。任务设置单元31在设置任务对应的临时队列时,将一个任务对应的全部代码拆分成至少2个代码段,每个代码段对应临时队列中的一个对象。较佳地,任务设置单元31可以以该任务中的请求来划分代码段,将该任务中的每一个请求对应的代码分别作为一个代码段。任务设置单元31将上述拆分获得的多个代码段对应的多个对象放置到临时队列中,具体设置方式为:任务设置单元31依次设置组成该任务的每一个代码段对应的对象的执行语句,并且在每一个对象的执行语句之后设置“yield return”语句,通过该“yield return”语句标识当前对象执行完毕并启动执行下一个对象。较佳地,任务设置单元31可以按照各个对象对应的代码段在该任务的全部代码中的顺序,将上述多个对象排列在临时队列中。
任务执行单元32与上述任务设置单元31相连,执行上述临时队列中的各个对象。任务执行单元32通过执行该临时队列,对上述排列在该临时队列中的多个对象实现统一执行。较佳地,在执行该临时队列时,任务执行单元32按照队列的先入先出原则执行。具体地,任务执行单元32在执行该临时队列时,首先执行该队列中第一个对象的代码段,根据第一个对象后的“yield return”语句,等待该第一个对象的代码段执行完毕,并且在第一个对象的代码段执行完毕后,进入执行第二个对象的代码段;类似地,任务执行单元32根据第二个对象后的上述“yield return”语句,等待该第二个对象的代码段执行完毕,并且在第二个对象的代码段执行完毕后,进入执行第三个对象的代码段;依此类推,直到任务执行单元32将该临时队列中的最后一个对象的代码段执行完毕,完成上述临时队列的执行过程。
具体地,任务设置单元31将每个子任务对应的代码段在内存中的入口地址和该代码段的描述信息设置在对象中,并为该对象设置指针指向用于存放执行结果的内存位置。相应地,任务执行单元32根据各对象中的入口地址,执行该入口地址对应的代码段,将当前对象的执行结果存储到当前对象的指针指向的内存位置,以供执行下一个对象时从所述内存位置获取当前对象的执行结果。
异常处理单元33与任务执行单元32相连,对上述临时队列进行异常处理。
其中,异常处理单元,用于对临时队列中的各对象执行过程进行统一的异常处理;具体包括:
异常捕获模块,用于在执行所述临时队列中的各对象之前插入异常捕获操作,用以在执行所述临时队列中的各对象过程中监控并捕获异常情况;和,异常处理模块,用于在执行所述临时队列中的各对象之后插入异常处理操作;,在执行所述临时队列中的各对象过程中监控并捕获异常情况,当所述异常捕获模块捕获到异常情况时,进行异常处理,结束。
具体地,异常处理单元33对临时队列中的各对象统一进行异常捕获,并对临时队列中出现异常的对象进行异常处理。异常处理单元33可以采用“try”关键字、“catch”关键字、“finally”关键字直接对上述临时队列进行异常处理。
资源释放单元34与任务执行单元32相连,对上述临时队列进行资源释放。具体地,资源释放单元34对临时队列中的各对象统一进行资源释放。资源释放单元34可以采用“using”关键字直接对上述临时队列进行资源释放。
当采用本发明提出的异步任务处理装置时,上述异常处理单元33和/或资源释放单元34可以采用对同步任务处理所采用的异常处理单元33和/或资源释放单元34,直接对上述临时队列进行异常处理和/或资源释放,从而能够对临时队列中的多个对象统一执行异常处理和/或资源释放。
上述的异步任务处理装置中的任务设置单元31、任务执行单元32、结果返回单元33、异常处理单元33和资源释放单元34的具体执行功能和工作方式可以参见本发明实施例一和本发明实施例二中对于异步任务处理方法中相应处理步骤的描述。
根据上述本发明具体实施方式可见,本发明的异步任务处理方法和装置将一个任务对应的全部代码拆分成多个代码段,将多个代码段分别对应成对象放置在临时队列中,通过执行该临时队列实现在一个线程中统一执行上述多个代码段对应的对象。由于上述多个代码段在同一个线程中执行,因此可以在该线程中通过变量进行数据共享,数据共享的效率高。并且,通过临时队列来统一执行多个代码段,在进行异常处理和/或资源释放时,可以通过对该临时队列进行异常处理和/或资源释放来实现对多个代码段进行统一的异常处理和/或资源释,提高了异常处理和/或资源释的效率。总之,采用本发明的异步任务处理方法和装置,通过将多个代码段设置在一个临时队列中执行,提高了任务的处理效率,并且降低了任务的处理复杂度。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种异步任务处理方法,其特征在于,包括:
将任务拆分为至少两个子任务;
根据每个子任务对应的代码段生成一个对象,将所述对象按预定顺序放入临时队列;
执行所述临时队列中的各对象。
2.根据权利要求1所述的方法,其特征在于,所述执行所述临时队列中的各对象包括:
在同一线程中执行所述临时队列中的全部对象。
3.根据权利要求1所述的方法,其特征在于,
所述根据每个子任务对应的代码段生成一个对象包括:将每个子任务对应的代码段在内存中的入口地址和该代码段的描述信息设置在对象中,并为该对象设置指针指向用于存放执行结果的内存位置;
所述执行所述临时队列中的各对象包括:根据各对象中的所述入口地址,执行该入口地址对应的代码段;将当前对象的执行结果存储到所述指针指向的内存位置。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,
所述至少两个子任务包括:发起异步请求子任务和结果回调子任务;
所述按预定顺序放入临时队列包括:所述发起异步请求子任务对应的对象位于所述结果回调子任务对应的对象之前。
5.根据权利要求1至3中任意一项所述的方法,其特征在于,所述按预定顺序放入临时队列还包括:
在每一个所述对象之后设置“yield return”语句,用以标识当前对象执行完毕并启动执行下一个对象。
6.根据权利要求1至3中任意一项所述的方法,其特征在于,所述方法还包括对临时队列中的各对象执行过程进行统一的异常处理,具体包括:
在所述执行所述临时队列中的各对象之前插入异常捕获操作;在所述执行所述临时队列中的各对象之后插入异常处理操作;
则在所述执行所述临时队列中的各对象过程中,监控并捕获异常情况;当捕获到异常情况时,进行异常处理,结束。
7.根据权利要求1至3中任意一项所述的方法,其特征在于,所述执行所述临时队列中的各对象之后,还包括:
对所述临时队列中的各对象统一进行资源释放。
8.一种异步任务处理装置,其特征在于,包括:
任务设置单元,用于将任务拆分为至少两个子任务,根据每个子任务对应的代码段生成一个对象,将所述对象按预定顺序放入临时队列;
任务执行单元,用于执行所述临时队列中的各对象。
9.根据权利要求9所述的装置,其特征在于,
所述任务设置单元具体用于将任务拆分为至少两个子任务;将每个子任务对应的代码段在内存中的入口地址和该代码段的描述信息设置在对象中,并为该对象设置指针指向用于存放执行结果的内存位置;将所述对象按预定顺序放入临时队列;
所述任务设置单元还用于在每一个所述对象之后设置“yieldreturn”语句,用以标识当前对象执行完毕并启动执行下一个对象;
所述任务执行单元具体用于根据各对象中的入口地址,执行该入口地址对应的代码段;将当前对象的执行结果存储到当前对象的指针指向的内存位置。
10.根据权利要求8或9所述的装置,其特征在于,所述装置还包括:
异常处理单元,用于对临时队列中的各对象执行过程进行统一的异常处理;具体包括:
异常捕获模块,用于在执行所述临时队列中的各对象之前插入异常捕获操作,用以在执行所述临时队列中的各对象过程中监控并捕获异常情况;和
异常处理模块,用于在执行所述临时队列中的各对象之后插入异常处理操作;,在执行所述临时队列中的各对象过程中监控并捕获异常情况,当所述异常捕获模块捕获到异常情况时,进行异常处理,结束;
和/或,
资源释放单元,用于对所述临时队列中的各对象统一进行资源释放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102846590A CN103019806A (zh) | 2011-09-22 | 2011-09-22 | 一种异步任务处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102846590A CN103019806A (zh) | 2011-09-22 | 2011-09-22 | 一种异步任务处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103019806A true CN103019806A (zh) | 2013-04-03 |
Family
ID=47968439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102846590A Pending CN103019806A (zh) | 2011-09-22 | 2011-09-22 | 一种异步任务处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103019806A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445692A (zh) * | 2015-08-12 | 2017-02-22 | 腾讯科技(深圳)有限公司 | 一种网络服务控制方法及装置 |
CN107015910A (zh) * | 2017-04-06 | 2017-08-04 | 上海云轴信息科技有限公司 | 保证异步程序健壮性的方法及设备 |
CN107077390A (zh) * | 2016-07-29 | 2017-08-18 | 华为技术有限公司 | 一种任务处理方法以及网卡 |
CN108255585A (zh) * | 2016-12-28 | 2018-07-06 | 北京奇虎科技有限公司 | Sdk异常控制及应用程序运行方法、装置及其设备 |
CN110688203A (zh) * | 2018-07-05 | 2020-01-14 | 武汉斗鱼网络科技有限公司 | 一种任务执行方法和装置 |
CN112506916A (zh) * | 2020-10-29 | 2021-03-16 | 望海康信(北京)科技股份公司 | 主数据处理方法、系统及相应计算机设备和存储介质 |
CN112965850A (zh) * | 2021-03-23 | 2021-06-15 | 上海云轴信息科技有限公司 | 一种在中台系统中实现工作流的方法与设备 |
CN113742035A (zh) * | 2020-05-27 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 一种边缘任务执行方法和装置 |
CN116821893A (zh) * | 2023-08-31 | 2023-09-29 | 北京华云安信息技术有限公司 | 代码执行方法、装置、电子设备和存储介质 |
WO2024027280A1 (zh) * | 2022-08-02 | 2024-02-08 | 华为技术有限公司 | 指令执行的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080313645A1 (en) * | 2007-06-15 | 2008-12-18 | Microsoft Corporation | Automatic Mutual Exclusion |
US20110185358A1 (en) * | 2010-01-27 | 2011-07-28 | Microsoft Corporation | Parallel query engine with dynamic number of workers |
CN102681843A (zh) * | 2011-02-16 | 2012-09-19 | 微软公司 | 改进的异步编程执行 |
-
2011
- 2011-09-22 CN CN2011102846590A patent/CN103019806A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080313645A1 (en) * | 2007-06-15 | 2008-12-18 | Microsoft Corporation | Automatic Mutual Exclusion |
US20110185358A1 (en) * | 2010-01-27 | 2011-07-28 | Microsoft Corporation | Parallel query engine with dynamic number of workers |
CN102681843A (zh) * | 2011-02-16 | 2012-09-19 | 微软公司 | 改进的异步编程执行 |
Non-Patent Citations (1)
Title |
---|
赵劼: "AsyncEnumerator简化异步操作", 《HTTP://WEB.ARCHIVE.ORG/WEB/20090223074435/HTTP://WWW.INFOQ.COM/CN/ARTICLES/CCR-ASYNC-PARTI》, 23 February 2009 (2009-02-23) * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445692B (zh) * | 2015-08-12 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 一种网络服务控制方法及装置 |
CN106445692A (zh) * | 2015-08-12 | 2017-02-22 | 腾讯科技(深圳)有限公司 | 一种网络服务控制方法及装置 |
CN107077390B (zh) * | 2016-07-29 | 2021-06-29 | 华为技术有限公司 | 一种任务处理方法以及网卡 |
CN107077390A (zh) * | 2016-07-29 | 2017-08-18 | 华为技术有限公司 | 一种任务处理方法以及网卡 |
WO2018018611A1 (zh) * | 2016-07-29 | 2018-02-01 | 华为技术有限公司 | 一种任务处理方法以及网卡 |
CN113504985A (zh) * | 2016-07-29 | 2021-10-15 | 华为技术有限公司 | 一种任务处理方法以及网络设备 |
CN108255585A (zh) * | 2016-12-28 | 2018-07-06 | 北京奇虎科技有限公司 | Sdk异常控制及应用程序运行方法、装置及其设备 |
CN108255585B (zh) * | 2016-12-28 | 2023-08-18 | 三六零科技集团有限公司 | Sdk异常控制及应用程序运行方法、装置及其设备 |
CN107015910A (zh) * | 2017-04-06 | 2017-08-04 | 上海云轴信息科技有限公司 | 保证异步程序健壮性的方法及设备 |
CN110688203B (zh) * | 2018-07-05 | 2022-05-13 | 武汉斗鱼网络科技有限公司 | 一种任务执行方法和装置 |
CN110688203A (zh) * | 2018-07-05 | 2020-01-14 | 武汉斗鱼网络科技有限公司 | 一种任务执行方法和装置 |
CN113742035A (zh) * | 2020-05-27 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 一种边缘任务执行方法和装置 |
CN112506916A (zh) * | 2020-10-29 | 2021-03-16 | 望海康信(北京)科技股份公司 | 主数据处理方法、系统及相应计算机设备和存储介质 |
CN112506916B (zh) * | 2020-10-29 | 2024-04-09 | 望海康信(北京)科技股份公司 | 主数据处理方法、系统及相应计算机设备和存储介质 |
CN112965850A (zh) * | 2021-03-23 | 2021-06-15 | 上海云轴信息科技有限公司 | 一种在中台系统中实现工作流的方法与设备 |
WO2024027280A1 (zh) * | 2022-08-02 | 2024-02-08 | 华为技术有限公司 | 指令执行的方法和装置 |
CN116821893A (zh) * | 2023-08-31 | 2023-09-29 | 北京华云安信息技术有限公司 | 代码执行方法、装置、电子设备和存储介质 |
CN116821893B (zh) * | 2023-08-31 | 2023-11-28 | 北京华云安信息技术有限公司 | 代码执行方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103019806A (zh) | 一种异步任务处理方法和装置 | |
CN106802826B (zh) | 一种基于线程池的业务处理方法及装置 | |
CN113238838B (zh) | 一种任务调度方法、装置及计算机可读存储介质 | |
EP2454666B1 (en) | Fault tolerant batch processing | |
CN102004663B (zh) | 一种多任务并发调度的系统及方法 | |
CN109445944A (zh) | 一种基于dpdk的网络数据采集处理系统及其方法 | |
CN105760234A (zh) | 一种线程池管理方法及装置 | |
WO2008126221A1 (ja) | ソフトウェア修正管理プログラム、ソフトウェア修正管理装置、およびソフトウェア修正管理方法 | |
CN107491346A (zh) | 一种应用的任务处理方法、装置及系统 | |
CN106528065B (zh) | 一种线程获取方法及设备 | |
CN108776897A (zh) | 数据处理方法、装置、服务器及计算机可读存储介质 | |
CN104793992A (zh) | 一种基于任务分解的并行任务处理方法 | |
KR101392584B1 (ko) | 리소스 모니터링을 이용한 동적 데이터 처리 장치 및 그 방법 | |
CN111158800B (zh) | 基于映射关系构建任务dag的方法及装置 | |
CN107368356A (zh) | 一种业务请求处理方法和装置 | |
CN106201692A (zh) | 一种定时任务处理系统及方法 | |
Kotthoff et al. | Distributed solving through model splitting | |
CN106909459A (zh) | 一种调整连接池的方法及装置 | |
CN105068861A (zh) | 一种事务执行方法及装置 | |
CN106325991B (zh) | 流程引擎的指令调度方法及装置 | |
CN109032779A (zh) | 任务处理方法、装置、计算机设备及可读存储介质 | |
CN106648754B (zh) | 控制器运行方法及装置 | |
CN104360889A (zh) | 一种驱动程序加载方法及装置 | |
CN110716987B (zh) | 一种同步任务异步执行的方法和调度系统 | |
CN104461738B (zh) | 资源管理器中资源复用的方法、对应系统及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130403 |
|
RJ01 | Rejection of invention patent application after publication |