[发明专利]动态线程池管理有效
申请号: | 201110060571.0 | 申请日: | 2011-03-04 |
公开(公告)号: | CN102147746A | 公开(公告)日: | 2011-08-10 |
发明(设计)人: | R·T·高达 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 蔡悦 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 动态 线程 管理 | ||
技术领域
本发明涉及线程管理领域,尤其涉及对线程的动态管理。
背景技术
服务器被设计成响应于来自客户机的请求来提供服务。使服务器能够并发地处理若干请求的常见方法是使用包括用于执行任务所创建的一些线程的线程池。线程池中的线程数量是资源,并且通常,存在许多比线程多得多的任务。如果线程池中的线程数量太少,则存在较少的并发性,可能降低总体请求处理吞吐量。另一方面,如果线程池中的线程数量太大,则线程之间的上下文改变浪费更多时间,并且存在较大机会的锁竞争(例如,具有对相同资源的独占访问的线程)。进一步的结果是服务器吞吐量的减少。
当应用程序利用单个线程池来服务若干相关联的子应用程序时,当仅仅几个子应用程序导致处理延迟时,所有的子应用程序可经历该延迟。此外,当与子应用程序相关联的线程试图与经历延迟的子应用程序交互时,这些线程可被阻止,直到解决了延迟的子应用程序。应用程序性能的下降导致用户体验降级。
发明内容
本发明的各实施例动态地管理与多个子应用程序相关联的线程池。应用程序和多个子应用程序的配置信息连同对多个子应用程序中的至少一个的请求一起被接收。确定当前被分配给子应用程序中的至少一个的线程数量,并且将其与来自配置信息的子应用程序的预定义的最大阈值作比较。如果线程数量不大于预定义的最大线程阈值,则分配线程池中的线程来处理请求。然而,如果线程数量大于预定义的最大线程阈值,则生成出错消息。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图说明
图1是示出接收和处理来自客户机的请求的服务器的示例性框图。
图2是具有存储用于动态地管理线程池的组件的存储器区域的服务器的示例性框图。
图3A和图3B是示出用于动态地管理线程池的过程的示例性流程图。
在附图范围中,对应的参考符号表示对应的部分。
具体实施方式
参考附图,本发明的各实施例提供用于经由服务器106动态地管理服务应用程序108和多个子应用程序110的线程池208的系统100。在某些实施例中,常见语言运行时线程池服务具有多个相关联的应用程序的网站。本发明的各实施例向服务器106提供动态地改变线程池208中的线程数量、以及基于当前分配给子应用程序110的每一个的线程数量来动态地维护该分配给子应用程序110中的每一个的线程数量的能力。
本发明的另一些实施例基于一个或多个子应用程序110所经历的等待时间来动态地控制线程池208中的线程数量(例如,线程池208中的线程数量与等待时间成反比)。这隔离了潜在子应用程序可对其他子应用程序的影响。更具体地,如果子应用程序变成潜在的,则直到潜在子应用程序的响应时间小于预定义的阈值,可分配给潜在子应用程序的线程数量减小到例如一个。随后绑定到潜在子应用程序的请求失败,这还引起出错信息被发送回客户机102。这一失败机制防止线程被分配以服务潜在子应用程序以便包含等待时间、并且使得更多线程可用于对绑定到非潜在的其他子应用程序的请求进行服务。等待时间可与诸如处理等待时间、网络等待时间或其他等待时间等子应用程序的任何组件或操作相关联。
再次参考图1,系统100的示例性框图包括客户机102、网络104和服务器106。客户机表示诸如移动计算设备、膝上型计算机、上网本计算机、游戏控制台等之类的任何计算设备。服务器106被配置成经由网络104与客户机102进行通信。服务器106包括或可以访问应用程序108和子应用程序110。
尽管参考作为服务器计算设备的服务器106示出并且描述了本发明的一些实施方式,但本发明的各方面可用于执行本文示出并且描述的功能的任何设备或其等价物,诸如在对等系统中。例如,本发明的实施例可用于上网本、台式计算设备、膝上型计算机、以及其他计算设备。在这些实施例中,数据可由云服务来存储并可由实现本发明的功能的任何计算设备来访问。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110060571.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种低热阻金属基覆铜板
- 下一篇:一种基于电力线通信的照明控制器