CN107491350A - 接口任务调用方法及装置 - Google Patents

接口任务调用方法及装置 Download PDF

Info

Publication number
CN107491350A
CN107491350A CN201710789002.7A CN201710789002A CN107491350A CN 107491350 A CN107491350 A CN 107491350A CN 201710789002 A CN201710789002 A CN 201710789002A CN 107491350 A CN107491350 A CN 107491350A
Authority
CN
China
Prior art keywords
task
readjustment
queue
extracted
level
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.)
Granted
Application number
CN201710789002.7A
Other languages
English (en)
Other versions
CN107491350B (zh
Inventor
黄浩
张文明
陈少杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Hailing Technology Co ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710789002.7A priority Critical patent/CN107491350B/zh
Priority to PCT/CN2017/111927 priority patent/WO2019047376A1/zh
Publication of CN107491350A publication Critical patent/CN107491350A/zh
Application granted granted Critical
Publication of CN107491350B publication Critical patent/CN107491350B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

接口任务调用方法及装置
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种接口任务调用方法及装置。
背景技术
可能会有多线程同时访问一个目标数据接口的情况,若一个线程在从数据接口向数据内存中写入数据的同时,另一个线程在通过数据接口从该数据内存中读取数据,会对该数据内存造成读写冲突,导致存储的数据不完整。为解决以上为题,常用的一些做法是在写入和读取数据内存的接口增加互斥锁,即在一个线程访问数据内存的目标数据接口完成之前,阻止其他线程对该数据内存的目标数据接口的访问。但是,在线程数较多时,增加互斥锁的位置较多,造成接口访问速度降低,影响了并发性,甚至可能导致死锁、程序假死等情况。并且,多个线程同时获取一个加锁对象时,竞争访问会带来额外的资源开销,降低线程的响应速度,影响了程序运行的线程,频繁的线程阻塞和唤醒动作也会加大CPU的工作负担。
发明内容
为了克服现有技术中的上述不足,本发明的目的在于提供一种接口任务调用方法,应用于电子设备,所述方法包括:
建立任务队列以及用于处理所述任务队列中任务的循环处理函数;
接收工作线程投递的回调任务并放入所述任务队列中,其中,所述回调任务由该工作线程需要调用的目标数据接口封装而成,所述回调任务包括相应的优先等级;
使用所述循环处理函数批量提取并存储所述任务队列中的所述回调任务,并根据所述回调任务的优先等级依次处理所述回调任务。
进一步地,在上述方法中,所述方法还包括:
在处理完当前轮次提取出的回调任务后,再次从所述任务队列中批量提取新的未处理的回调任务。
进一步地,在上述方法中,所述使用所述循环处理函数批量提取并存储所述任务队列中的所述回调任务的步骤,包括:
每间隔一预设时间从所述任务队列中批量提取所述回调任务。
进一步地,在上述方法中,所述回调任务包括重要程度较高需要立即处理的第一等级任务、可以延时处理的第二等级任务及可以在线程空闲时处理的第三等级任务;所述根据所述回调任务的优先等级依次处理所述回调任务的步骤,包括:
对提取出的所述第一等级任务进行处理;
在提取出的回调任务中不存在未处理的所述第一等级任务时,对所述第二等级任务进行处理;
在提取出的回调任务中不存在未处理的所述第一等级任务及未处理的第二等级任务时,对提取出的第三等级任务进行处理。
进一步地,在上述方法中,所述方法还包括:
所述循环处理函数在检测到所述任务队列中没有回调任务时,执行预设的等待函数,进入休眠状态。
进一步地,在上述方法中,所述方法还包括:
所述循环处理函数在休眠状态时,检测是否有回调任务投递到所述任务队列;
当检测到有回调任务投递到所述任务队列是,唤醒所述循环处理函数从所述任务队列提取回调任务并进行处理。
本发明的另一目的在于提供一种接口任务调用装置,应用于电子设备,所述装置包括:
建立模块,用于建立任务队列以及用于处理所述任务队列中任务的循环处理函数;
接收模块,用于接收工作线程投递的回调任务并放入所述任务队列中,其中,所述回调任务由该工作线程需要调用的目标数据接口封装而成,所述回调任务包括相应的优先等级;
任务处理模块,用于使用所述循环处理函数批量提取并存储所述任务队列中的所述回调任务,并根据所述回调任务的优先等级依次处理所述回调任务。
进一步地,在上述装置中,所述装置还包括:
循环提取模块,用于在处理完当前轮次提取出的回调任务后,再次从所述任务队列中批量提取新的未处理的回调任务。
进一步地,在上述装置中,所述任务处理模块通过以下方式提取并存储所述任务队列中的所述回调任务:
每间隔一预设时间从所述任务队列中批量提取所述回调任务。
进一步地,在上述装置中,所述回调任务包括重要程度较高需要立即处理的第一等级任务、可以延时处理的第二等级任务及可以在线程空闲时处理的第三等级任务;所述任务处理模块通过以下方式处理所述回调任务:
对提取出的所述第一等级任务进行处理;
在提取出的回调任务中不存在未处理的所述第一等级任务时,对所述第二等级任务进行处理;
在提取出的回调任务中不存在未处理的所述第一等级任务及未处理的第二等级任务时,对提取出的第三等级任务进行处理。
相对于现有技术而言,本发明具有以下有益效果:
本发明提供的一种接口任务调用方法及装置,通过将需要调用的目标接口封装为回调任务,工作线程在需要调用目标数据接口时,向任务队列投递相应的回调任务,然后循环处理函数对投递回调任务进行依次处理。如此,本实施例提供的方法可以最快的速度实现线程逐个调用访问目标数据接口,并且没有多余的加锁操作,节约了系统运行资源,提高了多线程并发的处理能力。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的电子设备的示意图;
图2为本发明实施例提供的接口任务调用方法的步骤流程示意图之一;
图3为本发明实施例提供的接口任务调用方法的步骤流程示意图之二;
图4为本发明实施例提供的接口任务调用装置的示意图。
图标:100-电子设备;110-接口任务调用装置;111-建立模块;112-接收模块;113-任务处理模块;120-存储器;130-处理器。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1为本实施例提供的电子设备100的示意图,本实施例中,所述电子设备100可以是,但不限于,服务器、智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobile Internetdevice,MID)等。
所述电子设备100包括接口任务调用装置110、存储器120及处理器130。
所述存储器120以及处理器130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述接口任务调用装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述电子设备100的操作系统(operating system,OS)中的软件功能模块。所述处理器130用于执行所述存储器120中存储的可执行模块,例如所述接口任务调用装置110所包括的软件功能模块及计算机程序等。
其中,所述存储器120可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,存储器120用于存储程序,所述处理器130在接收到执行指令后,执行所述程序。
所述处理器130可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本实施例中,将需要访问的目标数据接口封装为回调(callback)任务,即工作线程在需要访问所述目标数据接口时,投递对应的回调任务,所述电子设备100依次处理抽象出来的回调任务。如此,可以在不采用对工作线程加锁的情况下,实现对所述目标数据接口访问的控制,使同一时间只有一个工作线程访问所述目标数据接口。
请参照图2,图2为应用于图1所示的电子设备100的一种接口任务调用方法的流程图,以下将对所述方法包括各个步骤进行详细阐述。
步骤S110,建立任务队列以及用于处理所述任务队列中任务的循环处理函数。
在本实施例中,首先定义一个任务接收对象(例如,IncomingTaskQueue对象),该任务接收对象内部创建一个std::queue<PendingTask>的任务队列。该任务队列用来保存从工作线程投递过来的回调任务。因为std::queue结构具有从队列的首部和尾部访问数据更快速的优点,可以在接收到大量投递的回调任务时,可以及时存入队列中。
然后定义线程的循环处理函数的对象,即定义一个消息循环MessageLoop对象,该MessageLoop对象是线程运行的实际主体。利用消息循环的方式从IncomingTaskQueue对象获取回调任务并执行,每次优先执行MessageLoop中保存的任务,这样就不用每次频繁的从IncomingTaskQueue获取任务,可以提高消息循环的运行速度。
接着调用CreateThread(threadProc)函数创建一个线程,threadProc为该线程的运行过程接口。然后在threadProc内部运行MessageLoop的Run函数,开启线程的消息循环,等待处理callback任务。
步骤S120,接收工作线程投递的回调任务并放入所述任务队列中,其中,所述回调任务由该工作线程需要调用的目标数据接口封装而成,所述回调任务包括相应的优先等级。
在本实施例中,所述工作线程在需要访问目标数据接口时,向所述任务队列投递相应的回调任务。所述回调任务可以根据重要性设置相应的优先等级。例如,所述回调任务可以包括:重要程度较高,需要立即处理的第一等级任务,在本实施例中可以记为PostTask;可以延时处理的第二等级任务,在本实施例中可以记为PostDelayedTask;可以在线程空闲时处理的第三等级任务,在本实施例中,可以记为PostIdleWork。
步骤S130,使用所述循环处理函数批量提取并存储所述任务队列中的所述回调任务,并根据所述回调任务的优先等级依次处理所述回调任务。
在本实施例的一种具体实施方式中,请参照图3,所述方法还可以包括步骤S140。
步骤S140,在处理完当前轮次提取出的回调任务后,再次从所述任务队列中批量提取新的未处理的回调任务。如此,实现所述回调任务的循环提取处理。
在本实施例的另一种具体实施方式中,所述循环处理函数可以每间隔一预设时间从所述任务队列中批量提取所述回调任务。如此可实现所述回调任务的循环提取处理。
所述循环处理函数在处理提取出的回调任务时,由于所述第一等级任务重要程度较高,首先对提取出的所述第一等级任务进行处理。
在提取出的回调任务中不存在未处理的所述第一等级任务时,再对所述第二等级任务进行处理。
在提取出的回调任务中不存在未处理的所述第一等级任务及未处理的第二等级任务时,再对提取出的第三等级任务进行处理。也即,所述循环处理函数在检测到提取出的回调任务重没有所述第一等级任务及第二等级任务后,再对所述第二等级任务进行处理。因为所述第三等级任务属于空闲任务,所以在线程空闲时用来处理该类型任务,如此可以提高线程的利用率,最大程度利用线程的处理能力。
可选地,在本实施例中,所述循环处理函数在从所述任务队列中提取回调任务时,若测到所述任务队列中没有回调任务,则执行预设的等待函数,进入休眠状态。当所有回调任务都处理完毕时,MessageLoop对象会暂时调用wait函数,使线程进入后台休眠状态。如此可以减少程序运行线程的性能消耗。
可选地,在本实施例中,所述循环处理函数在休眠状态时,检测是否有回调任务投递到所述任务队列。当检测到有回调任务投递到所述任务队列是,唤醒所述循环处理函数从所述任务队列提取回调任务并进行处理。即工作线程有回调任务投递过来时,会调用ScheduleWork唤醒当前线程的MessageLoop消息循环,继续等待执行回调任务。
基于上述设计,在有多个任务同时需要调用目标数据解救时,本实施例提供的方法可以以最快的速度实现逐个线程调用目标数据接口。并且没有多余的加锁的操作,节约了系统运行资源,提高了多线程并发的处理能力。
请参照图4,本实施例还提供一种应用于图1所示电子设备100被的接口任务调用装置110,所述装置包括建立模块111、接收模块112及任务处理模块113。
所述建立模块111,用于建立任务队列以及用于处理所述任务队列中任务的循环处理函数。
本实施例中,所述建立模块111可用于执行图2所示的步骤S110,关于所述建立模块111的具体描述可参对所述步骤S110的描述。
所述接收模块112,用于接收工作线程投递的回调任务并放入所述任务队列中,其中,所述回调任务由该工作线程需要调用的目标数据接口封装而成,所述回调任务包括相应的优先等级。
本实施例中,所述接收模块112可用于执行图2所示的步骤S120,关于所述接收模块112的具体描述可参对所述步骤S120的描述。
所述任务处理模块113,用于使用所述循环处理函数批量提取并存储所述任务队列中的所述回调任务,并根据所述回调任务的优先等级依次处理所述回调任务。
本实施例中,所述任务处理模块113可用于执行图2所示的步骤S130,关于所述任务处理模块113的具体描述可参对所述步骤S130的描述。
可选地,在本实施例的一种实施方式中,所述装置还包括循环提取模块。
所述循环提取模块,用于在处理完当前轮次提取出的回调任务后,再次从所述任务队列中批量提取新的未处理的回调任务。
可选地,在本实施例的另一种实施方式中,所述任务处理模块113通过以下方式提取并存储所述任务队列中的所述回调任务:
每间隔一预设时间从所述任务队列中批量提取所述回调任务。
可选地,在本实施例中,所述回调任务包括重要程度较高需要立即处理的第一等级任务、可以延时处理的第二等级任务及可以在线程空闲时处理的第三等级任务;所述任务处理模块113通过以下方式处理所述回调任务:
对提取出的所述第一等级任务进行处理;
在提取出的回调任务中不存在未处理的所述第一等级任务时,对所述第二等级任务进行处理;
在提取出的回调任务中不存在未处理的所述第一等级任务及未处理的第二等级任务时,对提取出的第三等级任务进行处理。
综上所述,本发明提供的一种接口任务调用方法及装置,通过将需要调用的目标接口封装为回调任务,工作线程在需要调用目标数据接口时,向任务队列投递相应得到回调任务,然后循环处理函数对投递回调任务进行依次处理。如此,本实施例提供的方法可以以最快的速度实现线程逐个调用访问目标数据接口,并且没有多余的加锁的操作,节约了系统运行资源,提高了多线程并发的处理能力。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

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

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710789002.7A CN107491350B (zh) 2017-09-05 2017-09-05 接口任务调用方法及装置
PCT/CN2017/111927 WO2019047376A1 (zh) 2017-09-05 2017-11-20 接口任务调用方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710789002.7A CN107491350B (zh) 2017-09-05 2017-09-05 接口任务调用方法及装置

Publications (2)

Publication Number Publication Date
CN107491350A true CN107491350A (zh) 2017-12-19
CN107491350B CN107491350B (zh) 2018-08-10

Family

ID=60651414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710789002.7A Active CN107491350B (zh) 2017-09-05 2017-09-05 接口任务调用方法及装置

Country Status (2)

Country Link
CN (1) CN107491350B (zh)
WO (1) WO2019047376A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633181A (zh) * 2018-06-25 2019-12-31 北京国双科技有限公司 可视化显示方法和装置
CN111435314A (zh) * 2019-01-11 2020-07-21 武汉瓯越网视有限公司 一种不阻塞线程等待异步消息的方法、系统、服务器及存储介质
CN112801559A (zh) * 2021-04-09 2021-05-14 恒生电子股份有限公司 业务请求的处理方法、装置、设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101963922A (zh) * 2010-09-29 2011-02-02 用友软件股份有限公司 任务处理方法和装置
CN102262564A (zh) * 2011-08-16 2011-11-30 天津市天祥世联网络科技有限公司 视频监控平台系统的线程池结构及实现方法
CN102455933A (zh) * 2010-10-22 2012-05-16 深圳市科陆电子科技股份有限公司 一种通过线程管理提高多任务处理效率的方法
US20140053157A1 (en) * 2012-08-16 2014-02-20 Microsoft Corporation Asynchronous execution flow
CN105335238A (zh) * 2014-08-12 2016-02-17 腾讯科技(深圳)有限公司 进程间通信方法及装置
CN105718315A (zh) * 2016-02-17 2016-06-29 中国农业银行股份有限公司 一种任务处理方法及服务器
CN106802826A (zh) * 2016-12-23 2017-06-06 中国银联股份有限公司 一种基于线程池的业务处理方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103605568B (zh) * 2013-10-29 2017-10-31 北京奇虎科技有限公司 一种多线程管理方法及装置
CN105930208A (zh) * 2016-04-01 2016-09-07 广州华多网络科技有限公司 一种线程调度方法及线程调度装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101963922A (zh) * 2010-09-29 2011-02-02 用友软件股份有限公司 任务处理方法和装置
CN102455933A (zh) * 2010-10-22 2012-05-16 深圳市科陆电子科技股份有限公司 一种通过线程管理提高多任务处理效率的方法
CN102262564A (zh) * 2011-08-16 2011-11-30 天津市天祥世联网络科技有限公司 视频监控平台系统的线程池结构及实现方法
US20140053157A1 (en) * 2012-08-16 2014-02-20 Microsoft Corporation Asynchronous execution flow
CN105335238A (zh) * 2014-08-12 2016-02-17 腾讯科技(深圳)有限公司 进程间通信方法及装置
CN105718315A (zh) * 2016-02-17 2016-06-29 中国农业银行股份有限公司 一种任务处理方法及服务器
CN106802826A (zh) * 2016-12-23 2017-06-06 中国银联股份有限公司 一种基于线程池的业务处理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LLAYJUN: "java之模块学习-接口回调机制详解", 《HTTPS://BLOG.CSDN.NET/LLAYJUN/ARTICLE/DETAILS/50454148》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633181A (zh) * 2018-06-25 2019-12-31 北京国双科技有限公司 可视化显示方法和装置
CN110633181B (zh) * 2018-06-25 2023-04-07 北京国双科技有限公司 可视化显示方法和装置
CN111435314A (zh) * 2019-01-11 2020-07-21 武汉瓯越网视有限公司 一种不阻塞线程等待异步消息的方法、系统、服务器及存储介质
CN112801559A (zh) * 2021-04-09 2021-05-14 恒生电子股份有限公司 业务请求的处理方法、装置、设备和存储介质

Also Published As

Publication number Publication date
WO2019047376A1 (zh) 2019-03-14
CN107491350B (zh) 2018-08-10

Similar Documents

Publication Publication Date Title
CN109918141B (zh) 线程执行方法、装置、终端及存储介质
CN107491350B (zh) 接口任务调用方法及装置
CN104216768A (zh) 一种数据处理方法及装置
CN111078436B (zh) 数据处理的方法、装置、设备及存储介质
CN107491346A (zh) 一种应用的任务处理方法、装置及系统
CN107256180A (zh) 数据处理方法、装置及终端
WO2011129643A2 (en) Method and device of managing mtc devices in a mtc network environment
CN107766160A (zh) 队列消息处理方法及终端设备
CN107015850A (zh) 线程调度方法和装置
CN105931112A (zh) 一种跨境交易清算方法及系统
CN107368255B (zh) 解锁方法、移动终端及计算机可读存储介质
CN115658153A (zh) 睡眠锁优化方法、装置、电子设备及存储介质
CN115033352A (zh) 多核处理器任务调度方法、装置及设备、存储介质
CN108733428A (zh) 屏幕显示控制方法及装置
CN111435314A (zh) 一种不阻塞线程等待异步消息的方法、系统、服务器及存储介质
CN100535864C (zh) 一种系统进程调度下无效超时消息的方法及消息发送方法
CN103077081B (zh) 资源调整的方法及装置
CN101349975B (zh) 一种在嵌入式操作系统上实现中断底半部机制的方法及装置
CN107229591A (zh) 多串口通信方法及装置
CN105045652B (zh) 一种多终端共同处理多并行线程程序的方法和处理系统
CN107292614A (zh) 支付类应用程序管理方法、装置及移动终端
CN106933681B (zh) 一种多对象阻塞方法及其系统
CN105378650A (zh) 用于控制处理模块的操作模式的方法和装置
CN102867018B (zh) 一种数据库系统中线程间的模拟信号通信方法
CN108830724A (zh) 一种资源数据包处理方法及终端设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240123

Address after: 17-2-101 Xuefu Internet of Things Industrial Park, No. 2 Ruizhi Road, Jingwu Town, Xiqing District, Tianjin, 300000

Patentee after: Tianjin Hailing Technology Co.,Ltd.

Country or region after: China

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

Country or region before: China