接口任务调用方法及装置制造方法及图纸

技术编号:16837164 阅读:31 留言:0更新日期:2017-12-19 19:46
本发明专利技术提供一种接口任务调用方法及装置,应用于电子设备,所述方法包括:建立任务队列以及用于处理所述任务队列中任务的循环处理函数;接收工作线程投递的回调任务并放入所述任务队列中,其中,所述回调任务由该工作线程需要调用的目标数据接口封装而成,所述回调任务包括相应的优先等级;使用所述循环处理函数批量提取并存储所述任务队列中的所述回调任务,并根据所述回调任务的优先等级依次处理所述回调任务。如此,本实施例提供的方法可以以最快的速度实现线程逐个调用访问目标数据接口,并且没有多余的加锁的操作,节约了系统运行资源,提高了多线程并发的处理能力。

Interface task invocation method and device

The invention provides a device and a method of task call interface, used in electronic equipment, wherein the method comprises establishing a task queue and for recycling function of task processing the tasks in the queue; receiving thread delivery callback tasks and put in the task queue, among them, the callback tasks by the working thread need to call the target data interface is packaged, the callback tasks include the corresponding priority level; the use of the cycle of processing the callback function of task batch extraction and storing the task queue, and according to the priority of the task in processing the callback callback task. In this way, the implementation of this method can achieve the thread access to the target data interface at the fastest speed, and there is no extra locking operation, which saves the resources of the system operation and improves the processing capacity of multi thread concurrency.

【技术实现步骤摘要】
接口任务调用方法及装置
本专利技术涉及数据处理
,具体而言,涉及一种接口任务调用方法及装置。
技术介绍
可能会有多线程同时访问一个目标数据接口的情况,若一个线程在从数据接口向数据内存中写入数据的同时,另一个线程在通过数据接口从该数据内存中读取数据,会对该数据内存造成读写冲突,导致存储的数据不完整。为解决以上为题,常用的一些做法是在写入和读取数据内存的接口增加互斥锁,即在一个线程访问数据内存的目标数据接口完成之前,阻止其他线程对该数据内存的目标数据接口的访问。但是,在线程数较多时,增加互斥锁的位置较多,造成接口访问速度降低,影响了并发性,甚至可能导致死锁、程序假死等情况。并且,多个线程同时获取一个加锁对象时,竞争访问会带来额外的资源开销,降低线程的响应速度,影响了程序运行的线程,频繁的线程阻塞和唤醒动作也会加大CPU的工作负担。
技术实现思路
为了克服现有技术中的上述不足,本专利技术的目的在于提供一种接口任务调用方法,应用于电子设备,所述方法包括:建立任务队列以及用于处理所述任务队列中任务的循环处理函数;接收工作线程投递的回调任务并放入所述任务队列中,其中,所述回调任务由该工作线程需要调用的目标数据接口封装而成,所述回调任务包括相应的优先等级;使用所述循环处理函数批量提取并存储所述任务队列中的所述回调任务,并根据所述回调任务的优先等级依次处理所述回调任务。进一步地,在上述方法中,所述方法还包括:在处理完当前轮次提取出的回调任务后,再次从所述任务队列中批量提取新的未处理的回调任务。进一步地,在上述方法中,所述使用所述循环处理函数批量提取并存储所述任务队列中的所述回调任务的步骤,包括:每间隔一预设时间从所述任务队列中批量提取所述回调任务。进一步地,在上述方法中,所述回调任务包括重要程度较高需要立即处理的第一等级任务、可以延时处理的第二等级任务及可以在线程空闲时处理的第三等级任务;所述根据所述回调任务的优先等级依次处理所述回调任务的步骤,包括:对提取出的所述第一等级任务进行处理;在提取出的回调任务中不存在未处理的所述第一等级任务时,对所述第二等级任务进行处理;在提取出的回调任务中不存在未处理的所述第一等级任务及未处理的第二等级任务时,对提取出的第三等级任务进行处理。进一步地,在上述方法中,所述方法还包括:所述循环处理函数在检测到所述任务队列中没有回调任务时,执行预设的等待函数,进入休眠状态。进一步地,在上述方法中,所述方法还包括:所述循环处理函数在休眠状态时,检测是否有回调任务投递到所述任务队列;当检测到有回调任务投递到所述任务队列是,唤醒所述循环处理函数从所述任务队列提取回调任务并进行处理。本专利技术的另一目的在于提供一种接口任务调用装置,应用于电子设备,所述装置包括:建立模块,用于建立任务队列以及用于处理所述任务队列中任务的循环处理函数;接收模块,用于接收工作线程投递的回调任务并放入所述任务队列中,其中,所述回调任务由该工作线程需要调用的目标数据接口封装而成,所述回调任务包括相应的优先等级;任务处理模块,用于使用所述循环处理函数批量提取并存储所述任务队列中的所述回调任务,并根据所述回调任务的优先等级依次处理所述回调任务。进一步地,在上述装置中,所述装置还包括:循环提取模块,用于在处理完当前轮次提取出的回调任务后,再次从所述任务队列中批量提取新的未处理的回调任务。进一步地,在上述装置中,所述任务处理模块通过以下方式提取并存储所述任务队列中的所述回调任务:每间隔一预设时间从所述任务队列中批量提取所述回调任务。进一步地,在上述装置中,所述回调任务包括重要程度较高需要立即处理的第一等级任务、可以延时处理的第二等级任务及可以在线程空闲时处理的第三等级任务;所述任务处理模块通过以下方式处理所述回调任务:对提取出的所述第一等级任务进行处理;在提取出的回调任务中不存在未处理的所述第一等级任务时,对所述第二等级任务进行处理;在提取出的回调任务中不存在未处理的所述第一等级任务及未处理的第二等级任务时,对提取出的第三等级任务进行处理。相对于现有技术而言,本专利技术具有以下有益效果:本专利技术提供的一种接口任务调用方法及装置,通过将需要调用的目标接口封装为回调任务,工作线程在需要调用目标数据接口时,向任务队列投递相应的回调任务,然后循环处理函数对投递回调任务进行依次处理。如此,本实施例提供的方法可以最快的速度实现线程逐个调用访问目标数据接口,并且没有多余的加锁操作,节约了系统运行资源,提高了多线程并发的处理能力。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本专利技术实施例提供的电子设备的示意图;图2为本专利技术实施例提供的接口任务调用方法的步骤流程示意图之一;图3为本专利技术实施例提供的接口任务调用方法的步骤流程示意图之二;图4为本专利技术实施例提供的接口任务调用装置的示意图。图标:100-电子设备;110-接口任务调用装置;111-建立模块;112-接收模块;113-任务处理模块;120-存储器;130-处理器。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。在本专利技术的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该专利技术产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。请参照图1,图1为本实施例提供的电子设备100的示意图,本实施例中,所述电子设备100可以是,但不限于,服务器、智能手机、个人电脑(personalcomputer,PC)、平板电脑、个人数字助理(personaldigitalassistant,PDA)、移动上网设备(mobileInternetdevice,MID)等。所述电子设备100包括接口任务调用装置110、存储器120及处理器130。所述存储器120以及处理器130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现本文档来自技高网...
接口任务调用方法及装置

【技术保护点】
一种接口任务调用方法,应用于电子设备,其特征在于,所述方法包括:建立任务队列以及用于处理所述任务队列中任务的循环处理函数;接收工作线程投递的回调任务并放入所述任务队列中,其中,所述回调任务由该工作线程需要调用的目标数据接口封装而成,所述回调任务包括相应的优先等级;使用所述循环处理函数批量提取并存储所述任务队列中的所述回调任务,并根据所述回调任务的优先等级依次处理所述回调任务。

【技术特征摘要】
1.一种接口任务调用方法,应用于电子设备,其特征在于,所述方法包括:建立任务队列以及用于处理所述任务队列中任务的循环处理函数;接收工作线程投递的回调任务并放入所述任务队列中,其中,所述回调任务由该工作线程需要调用的目标数据接口封装而成,所述回调任务包括相应的优先等级;使用所述循环处理函数批量提取并存储所述任务队列中的所述回调任务,并根据所述回调任务的优先等级依次处理所述回调任务。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在处理完当前轮次提取出的回调任务后,再次从所述任务队列中批量提取新的未处理的回调任务。3.根据权利要求1所述的方法,其特征在于,所述使用所述循环处理函数批量提取并存储所述任务队列中的所述回调任务的步骤,包括:每间隔一预设时间从所述任务队列中批量提取所述回调任务。4.根据权利要求2或3所述的方法,其特征在于,所述回调任务包括重要程度较高需要立即处理的第一等级任务、可以延时处理的第二等级任务及可以在线程空闲时处理的第三等级任务;所述根据所述回调任务的优先等级依次处理所述回调任务的步骤,包括:对提取出的所述第一等级任务进行处理;在提取出的回调任务中不存在未处理的所述第一等级任务时,对所述第二等级任务进行处理;在提取出的回调任务中不存在未处理的所述第一等级任务及未处理的第二等级任务时,对提取出的第三等级任务进行处理。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述循环处理函数在检测到所述任务队列中没有回调任务时,执行预设的等待函数,进入休眠状态。6.根据权利要求5所述的方法,其特征在于,所述方法还包括...

【专利技术属性】
技术研发人员:黄浩张文明陈少杰
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1