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.根据权利要求1所述的方法,其特征在于,所述方法还包括:在处理完当前轮次提取出的回调任务后,再次从所述任务队列中批量提取新的未处理的回调任务。3.根据权利要求1所述的方法,其特征在于,所述使用所述循环处理函数批量提取并存储所述任务队列中的所述回调任务的步骤,包括:每间隔一预设时间从所述任务队列中批量提取所述回调任务。4.根据权利要求2或3所述的方法,其特征在于,所述回调任务包括重要程度较高需要立即处理的第一等级任务、可以延时处理的第二等级任务及可以在线程空闲时处理的第三等级任务;所述根据所述回调任务的优先等级依次处理所述回调任务的步骤,包括:对提取出的所述第一等级任务进行处理;在提取出的回调任务中不存在未处理的所述第一等级任务时,对所述第二等级任务进行处理;在提取出的回调任务中不存在未处理的所述第一等级任务及未处理的第二等级任务时,对提取出的第三等级任务进行处理。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述循环处理函数在检测到所述任务队列中没有回调任务时,执行预设的等待函数,进入休眠状态。6.根据权利要求5所述的方法,其特征在于,所述方法还包括...
【专利技术属性】
技术研发人员:黄浩,张文明,陈少杰,
申请(专利权)人:武汉斗鱼网络科技有限公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。