[发明专利]分配和调度用于多个队列的计算机、制造品和方法有效
申请号: | 201380077438.3 | 申请日: | 2013-09-21 |
公开(公告)号: | CN105474175B | 公开(公告)日: | 2019-07-16 |
发明(设计)人: | P.泰克赛拉;A.基尚 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 操作系统提供服务处于不同优先级水平的多个请求的队列的工作者线程池。并发性控制器限制当前执行的线程的数目。系统追踪每一个优先级水平以上的当前执行的线程的数目,并且有利于较高优先级工作者线程地先占较低优先级工作者线程的操作。系统可以具有多个工作者线程池,其中每一个池具有其自身的优先级队列和并发性控制器。线程还可以改变其优先级中间操作。如果线程变成较低优先级并且当前活跃,则采取步骤以确保不发生优先级颠倒。特别地,针对新的较低优先级项目的当前线程可以被针对较高优先级项目的线程先占并且将被先占的项目放置在较低优先级队列中。 | ||
搜索关键词: | 分配 调度 用于 优先 队列 线程 | ||
【主权项】:
1.一种包括存储器和至少一个处理器的计算机,该计算机具有在该至少一个处理器上执行的操作系统,该操作系统可操作以:响应于来自在所述计算机上执行的应用的请求,为所述应用指派工作者线程池,其中每个工作者线程是由所述操作系统提供的线程,并且其中每个工作者线程服务来自所述应用的用以访问操作系统资源的请求;将多个队列与为所述应用指派的所述工作者线程池相关联,每个队列具有不同的优先级,用于存储将被分配给所述工作者线程的项目,每个项目表示具有优先级的来自所述应用的请求,用以通过使用为所述应用指派的所述工作者线程池中的工作者线程中的一个工作者线程来访问所述操作系统资源;所述操作系统进一步包括并发性控制器,所述并发性控制器可操作以向工作者线程分配来自所述多个队列的项目并限制并行地执行工作者线程的数目;其中响应于具有优先级的来自所述应用的用以访问所述操作系统资源的请求,所述并发性控制器可操作以:向具有所述请求的所述优先级的队列添加对应于所述请求的项目;以及至少基于并发地执行与所述队列相关联的工作者线程的线程计数,确定是否到达用于具有所述请求的所述优先级的所述队列的并发性限制;以及响应于未到达用于具有所述请求的所述优先级的所述队列的所述并发性限制的确定,向所述工作者线程中的一个工作者线程分配对应于所述请求的所述项目,以及增加与所述队列相关联的所述线程计数。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201380077438.3/,转载请声明来源钻瓜专利网。