[发明专利]一种可动态调节尺寸的线程池在审
申请号: | 201410134889.2 | 申请日: | 2014-04-04 |
公开(公告)号: | CN103902361A | 公开(公告)日: | 2014-07-02 |
发明(设计)人: | 周博;孟宪伟;王旭 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 调节 尺寸 线程 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种可动态调节尺寸的线程池。
背景技术
在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。如何利用已有对象来服务就是一个需要解决的关键问题。
发明内容
线程池作用就是限制系统中执行线程的数量。根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有等待进程,线程池的这一资源处于等待。当一个新任务需要运行时,如果线程池中有等待的工作线程,就可以开始运行了;否则进入等待队列。
本发明使用一种可动态调节尺寸的线程池,提高线程执行效率,减少系统资源消耗。本线程池采用线程重用缓存管理加任务调度管理相结合的方法来进行线程池管理,主要包括:
(1) 线程管理模块
线程管理模块中包含两个链表,一个是未使用线程链表,用于保存未使用的线程信息;另一个是已使用线程链表,用于保存已使用的线程信息。
a) 增加线程
在未使用线程链表中查找未使用的线程信息,然后添加到已使用线程链表中。
b) 删除线程
在已使用线程链表中查找处于休眠状态的线程,然后将其移动到未使用链表中。
c) 任务处理超时机制
线程在执行任务处理过程中,若遇阻塞,会按用户指定的超时时间等待,若超时仍无响应,则该线程会被终止,并重新创建线程填补被终止的线程。
d) 线程休眠/激活
当线程获取到任务时,会将该线程激活。待其处理完任务后,将其置成休眠。
e) 线程分配任务机制
线程从任务管理模块中获取未处理任务,并执行该任务。
(2) 任务管理模块
任务管理模块中有一个任务链表,用于保存待处理的任务信息。
a) 增加任务
将任务缓存中的任务,添加到任务管理模块中的任务链表中。
b) 删除任务
线程管理模块获取任务时,从任务管理模块中的任务链表中删除任务。
c) 调节线程池尺寸
根据配置文件中的配置信息,动态调节线程池的尺寸,也就是线程管理模块中的线程数。
d) 调度任务缓存中的任务
任务管理模块从任务缓冲区中查找优先级较高的任务,放入自己的任务链表中优先处理。
(3) 任务缓冲区
任务缓存区中有一个任务链表,用于缓存用户传入的任务信息。
a) 增加任务
将用户输入信息增加到任务缓存区的任务链表中。
b) 删除任务
当任务管理模块调度任务缓存区任务时,从任务缓存区的任务链表中删除任务,并增加到任务管理模块中的任务列表中。
(4) 配置文件管理模块
配置文件管理模块,用于读取线程池配置文件,并解析配置文件。配置文件中会标明哪个数量范围内的任务使用什么样的线程池尺寸。从而保证线程池的效率最优。
本发明与现有技术相比,所产生的有益效果是:
通过引入本线程池管理,会减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务;可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为因为消耗过多的内存,而把服务器累趴下(每个线程需要大约1MB内存,线程开的越多,消耗的内存也就越大,最后死机);减少了创建和销毁线程的次数,提高了效率;每个工作线程都可以被重复利用,可执行多个任务。
附图说明
附图1是本发明的模块结构图。
具体实施方式
线程池采用线程重用缓存管理加任务调度管理相结合的方法来进行线程池管理,主要包括:
1)、线程管理模块
线程管理模块中包含两个链表,一个是未使用线程链表,用于保存未使用的线程信息;另一个是已使用线程链表,用于保存已使用的线程信息。
f) 增加线程
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410134889.2/2.html,转载请声明来源钻瓜专利网。