【技术实现步骤摘要】
一种基于线程池的任务调度方法、装置及系统
[0001]本申请涉及计算机
,特别涉及一种基于线程池的任务调度方法、装置、系统、计算机设备及可读存储介质。
技术介绍
[0002]商用路由协议平台ZebOS系统的线程机制,是以函数作为最小调度单位,在单线程环境下线程进行非抢占式调度,每一个参与调度的执行函数必须执行完成,才会调度下一个函数。这种调度方式有一个很明显缺点,即调度周期随被调度的函数执行时间的不同而不同。若调度函数队列中存在一些执行时间较长的函数,则其他实时性敏感的函数调度时间就也会变得非常长。
技术实现思路
[0003]本申请的目的是提供一种基于线程池的任务调度方法、装置、系统、计算机设备及可读存储介质,用以解决目前的任务调度方案受限于函数执行时间,导致效率较低的问题。其具体方案如下:第一方面,本申请提供了一种基于线程池的任务调度方法,应用于主线程,包括:将目标任务卸载至主线程队列,并向第二主线程管道写入事件使得第一主线程管道可读,以便于线程池中用于监听所述第一主线程管道的线程在所述第一主线程管道 ...
【技术保护点】
【技术特征摘要】
1.一种基于线程池的任务调度方法,其特征在于,应用于ZebOS主线程,包括:将目标任务卸载至主线程队列,并向第二主线程管道写入事件使得第一主线程管道可读,以便于线程池中用于监听所述第一主线程管道的线程在所述第一主线程管道可读时从所述主线程队列获取所述目标任务并执行任务处理函数,得到所述目标任务的处理结果,进而将所述目标任务的处理结果写入线程池队列,并向第二线程池管道写入事件使得第一线程池管道可读;监听所述第一线程池管道,在所述第一线程池管道可读时,从所述线程池队列中获取所述目标任务的处理结果。2.如权利要求1所述的方法,其特征在于,所述目标任务包括耗时超过时间阈值的任务和/或与目标业务无关的任务。3.如权利要求1所述的方法,其特征在于,每个所述目标任务有且仅有一个线程获取到。4.一种基于线程池的任务调度装置,其特征在于,应用于ZebOS主线程,包括:任务卸载模块,用于将目标任务卸载至主线程队列,并向第二主线程管道写入事件使得第一主线程管道可读,以便于线程池中用于监听所述第一主线程管道的线程在所述第一主线程管道可读时从所述主线程队列获取所述目标任务并执行任务处理函数,得到所述目标任务的处理结果,进而将所述目标任务的处理结果写入线程池队列,并向第二线程池管道写入事件使得第一线程池管道可读;处理结果监听模块,用于监听所述第一线程池管道,在所述第一线程池管道可读时,从所述线程池队列中获取所述目标任务的处理结果。5.一种基于线程池的任务调度方法,其特征在于,应用于ZebOS线程池,包括:控制线程池中的线程监听第一主线程管道,在所述第一主线程管道可读时,从主线程队列中获取目标任务,其中所述目标任务为主线程卸载至所述主线程队列的,所述主线程在将所述目标任务卸载至所述主线程队列时还向第二主线程管道写入事件使得所述第一主线程管道可读;控制线程池中的线程执行任务处理函数,得到所述目标任务的处理结果,将所述目标任务的处理结果写入线程池队列中,并向第二线程池管道写入事件使得...
【专利技术属性】
技术研发人员:陈一骄,高仙恩,胡都欢,童云龙,张鹏,高智斐,曾晓琪,唐靖飚,屈晓阳,王克波,
申请(专利权)人:戎腾科技长沙有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。