[发明专利]一种线程池管理方法及装置在审
申请号: | 201610154360.6 | 申请日: | 2016-03-17 |
公开(公告)号: | CN105760234A | 公开(公告)日: | 2016-07-13 |
发明(设计)人: | 张文凌;范相池 | 申请(专利权)人: | 联动优势科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
地址: | 100088 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 线程 管理 方法 装置 | ||
技术领域
本发明涉及计算机处理领域,尤其涉及一种线程池管理方法及装置。
背景技术
服务器被设计成响应于来自客户机的请求来提供服务,服务器能够并发地处理若干请求的常见方法是使用包括用于执行任务所创建的一些线程的线程池。线程池中的线程数量是有限的资源,并且通常存在比线程多得多的任务。
在互联网技术中线程池得到了广泛的应用,通过引入线程池可以有效的管理线程、控制线程上限总数、以及减少创建和销毁线程所带来的开销。在实际应用中,随着业务的逐步庞大,一个系统对其他越来越多的系统调用增加,在系统中采用统一的线程池实例,可以统一有效的管理线程、减少创建和销毁线程的开销。
线程池技术通过让多个不同类型的任务重用线程池的线程,使线程创建的开销被分摊到多个不同类型的任务上。其好处是,因为在客户请求到达时线程已经存在,所以消除了线程创建所带来的延迟,使应用程序响应更快。
但目前多个任务被添加到一个任务队列中,线程池管理维护一组工作线程,该组工作线程循环执行这个任务队列中的任务。采用这种线程池管理技术,一旦任务队列中的任务执行过程中出现异常,如线程执行该任务队列中的某一类任务的时间过长或线程挂死,会造成其它任务无法及时处理,将影响服务器执行任务的效率。
发明内容
本发明实施例提供一种线程池管理方法及装置,用以解决现有的线程池没有合理地为任务队列中的任务分配线程,导致任务执行效率低的问题。
本发明方法包括一种线程池管理方法,该方法包括:接收不同应用程序发送的任务;将所述不同应用程序发送的任务划分为不同的任务集合,其中,每个任务集合中的任务类型相同;根据各任务集合中的任务的属性,确定线程池中用于执行各任务集合的工作线程。
基于同样的发明构思,本发明实施例进一步地提供一种线程池管理装置,该装置包括:接收单元,用于接收不同应用程序发送的任务;划分单元,将所述不同应用程序发送的任务划分为不同的任务集合,其中,每个任务集合中的任务类型相同;确定单元,用于根据各任务集合中的任务的属性,确定线程池中用于执行各任务集合的工作线程。
本发明实施例通过接收不同应用程序发送的任务,然后将任务根据类型分成不同的任务集合,启动线程池之后,按照预设规则确定线程池中用于执行任务集合的工作线程。这样,不同类型的任务就可以被分批存放在不同的任务集合中,因为任务集合有对应分配的工作线程,所以多个任务集合可以并行执行,进而解决因某个任务处理时间过长或者挂死,造成其它任务滞后执行的问题,因此提高的执行任务的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供一种线程池管理方法流程示意图;
图2为~图5本发明实施例提供一种线程池中的线程分配策略示意图;
图6为本发明实施例提供一种线程池管理装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明以下实施例中包含有如下概念,其具体含义如下:
工作线程(ProcessThread):线程池中的线程对象,用来执行用户任务,其个数由线程池对象中的poolSize(线程池大小)变量决定;
任务集合(taskList):用于存放待处理的任务,提供一种缓存机制;
线程池管理器(ThreadPoolManager):用来创建、查询线程池,即维护应用程序中的所有线程池;
参见图1所示,本发明实施例提供一种线程池管理方法流程示意图,具体地实现方法包括:
步骤S101,接收不同应用程序发送的任务。
步骤S102,将所述不同应用程序发送的任务划分为不同的任务集合,其中,每个任务集合中的任务类型相同。
步骤S103,根据各任务集合中的任务的属性,确定线程池中用于执行各任务集合的工作线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联动优势科技有限公司,未经联动优势科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610154360.6/2.html,转载请声明来源钻瓜专利网。