[发明专利]一种多任务线程池调度方法和系统有效

专利信息
申请号: 201010606075.6 申请日: 2010-12-24
公开(公告)号: CN102541653A 公开(公告)日: 2012-07-04
发明(设计)人: 郑鹏程;徐进;见良;刘铁华 申请(专利权)人: 新奥特(北京)视频技术有限公司
主分类号: G06F9/50 分类号: G06F9/50;G06T1/20
代理公司: 北京天悦专利代理事务所(普通合伙) 11311 代理人: 田明;任晓航
地址: 100080 北京市海淀区西草场*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 任务 线程 调度 方法 系统
【说明书】:

技术领域

发明属于视频处理技术领域,具体涉及一种多任务线程池调度方法和系统。

背景技术

在图像/视频后期计算机处理过程中,由于算法的复杂性,将导致节目制作的效率不高。但是随着计算机水平的不断提高,具有多核CPU的计算机不断普及,为提高图像/视频后期处理时的系统的实时性提供了硬件支持。为了充分利用现有的硬件资源,一种可行的做法是尽可能启动多线程让CPU都工作起来,但是实际情况并不是启动的CPU越多越好,当线程数到达某个数值之后,随着新线程的加入,系统对单一任务的响应时间越来越长,越来越慢,而且如果再继续增多的话,貌似内存要溢出了,而且响应时间也变成了无限长,直到任何一个任务都无法被完成。所以,在实际应用中,需要根据实际情况合理配置线程才能达到最好的效果。

线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永远不会超过最大值。超过最大值的线程可以排队,但他们要等到其他线程完成后才启动。

在在现有的图像/视频后期计算机处理过程中,还没有发现使用线程池的调度,线程都是需要线程的时候就直接创建,使用完成后直接销毁线程了。但是线程的创建和销毁线程是需要代价的,创建一个新的线程的时间大概需要消耗系统几百毫秒的时间,另外还需要消耗内存等其他资源,总之就是反复的创建和销毁线程是不利的。

发明内容

针对现有技术中存在的缺陷,本发明的目的是提供一种多任务线程池调度方法和系统。该方法和系统在对图像/视频进行后期计算机处理过程中能够建立线程池并对所有线程进行分类管理,并通过建立线程的创建和回收机制,避免资源浪费,提高了线程的利用率。

为达到以上目的,本发明采用的技术方案是:一种多任务线程池调度方法,包括以下步骤:

(1)根据任务算法实现目的的不同,对任务进行分类,并设定任务线程的优先级;

(2)根据任务线程的优先级为任务建立线程池;

(3)根据需要执行的任务线程的优先级选择与该优先级相对应的线程池;

(4)查看线程池中是否存在空闲的线程,若是,则进行任务算法与该线程的关联,启动线程调度算法执行任务;若否,则创建新的线程进行任务算法与该线程的关联,启动线程调度算法执行任务;

(5)将任务执行结束后的线程回收到线程池中。

进一步,如上所述的多任务线程池调度方法,所述线程的个数是根据实际CPU的个数进行创建的。

进一步,如上所述的多任务线程池调度方法,步骤(1)中所述任务线程的优先级是由用户来设定的。

再进一步,如上所述的多任务线程池调度方法,所述线程池具有线程的创建与回收功能。

更进一步,如上所述的多任务线程池调度方法,步骤(4)中进行任务算法与线程的关联,启动线程调度算法执行任务是通过设置回调函数来实现的;所述回调函数是用户根据需要进行设置的,线程在被CPU调度时将通过回调该函数进行任务算法的执行,完成任务。

一种多任务线程池调度系统,包括以下装置:

任务分类装置:用于根据任务算法实现目的的不同,对任务进行分类,并进行任务线程的优先级的设定;

线程池创建装置:用于根据任务线程的优先级进行线程池的建立;

线程池选择装置:用于根据需执行的任务线程的优先级进行与该优先级相对应的线程池的选择;

任务执行装置:用于进行任务算法与线程的关联,启动线程调度算法进行任务的执行;

线程回收装置:用于将任务执行结束后的线程回收到线程池。

再进一步,如上所述的多任务线程池调度系统,所述任务执行装置包括线程选择模块,所述线程选择模块用于查看线程池中是否存在空闲的线程,若是,则进行任务的执行;若否,则创建新的线程进行任务的执行。

更进一步,如上所述的多任务线程池调度系统,所述任务执行装置的功能是通过设置回调函数来实现的;所述回调函数是用户根据需要进行设置的,线程在被CPU调度时将通过回调该函数进行任务算法的执行,完成任务。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新奥特(北京)视频技术有限公司,未经新奥特(北京)视频技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201010606075.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top