[发明专利]使用并发域的多线程化有效
| 申请号: | 200680014618.7 | 申请日: | 2006-04-20 |
| 公开(公告)号: | CN101248405A | 公开(公告)日: | 2008-08-20 |
| 发明(设计)人: | A·F·阿玛德;B·什亚姆桑达;B·M·奥兰尼科;C·A·西泽伯斯基;S·克莱安 | 申请(专利权)人: | 微软公司 |
| 主分类号: | G06F3/00 | 分类号: | G06F3/00;G06F13/00;G06F9/44;G06F15/173;G06F9/46;G06F15/177;G06F9/455 |
| 代理公司: | 上海专利商标事务所有限公司 | 代理人: | 陈斌 |
| 地址: | 美国华*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 使用 并发 多线程 | ||
1.一种用于同步软件应用程序组件操作的系统,包括:
第一并发域,包括用于执行所述软件应用程序的至少一个单线程对象的单个内部处理线程;
与所述第一并发域相关联的第一边界对象,用于从所述第一并发域外部的软件应用程序对象中接收第一工作项目并且用于将所述第一工作项目记入工作项目队列,所述第一工作项目被导向所述单线程对象;
包含在所述并发域中的第一线程调度器对象,用于从所述工作项目队列中检索所述已记入的第一工作项目并将所述已记入的第一工作项目传递给所述单线程对象以供所述单线程对象处理;以及
所述单线程对象用于处理所述已记入的第一工作项目并将结果经由所述第一边界对象返回给所述外部对象。
2.如权利要求1所述的系统,其特征在于,所述第一线程调度器对象还用于从所述单线程对象扣留导向所述单线程对象的已记入的第二工作项目,直到所述单线程对象经由所述第一边界对象向所述外部对象返回所述已记入的第一工作项目的处理结果。
3.如权利要求2所述的系统,其特征在于,所述外部对象包括辅并发域,所述辅并发域包括被配置成执行包括在所述辅并发域内的至少一个单线程对象的单个内部线程,并且所述辅并发域与辅并发域边界对象相关联,所述辅并发域边界对象用于经由所述第一边界对象接收来自所述单线程对象的结果以供包括在所述辅并发域中的所述单线程对象处理。
4.一种同步软件应用程序组件操作的方法,包括:
接收工作项目以供第一软件应用程序组件处理;
将所述工作项目记入工作项目队列;
确定所述第一软件应用程序组件是否已经完成对传递给所述第一软件应用程序组件以供处理的任何先前工作项目的处理;
如果所述第一软件应用程序组件已经完成对传递给所述第一软件应用程序组件以供处理的任何先前工作项目的处理,则检索已记入到所述工作项目队列的所述工作项目;以及
将检索到的工作项目传递给所述软件应用程序组件以供处理。
5.如权利要求4所述的方法,其特征在于,在接收工作项目以供第一软件应用程序组件处理之前,与所述软件应用程序的其它组件分开地在并发域中实例化所述第一软件应用程序组件,所述第一软件应用程序组件包括可用于执行所述第一软件应用程序组件的单个内部处理线程。
6.如权利要求5所述的方法,其特征在于,
接收工作项目以供所述第一软件应用程序组件处理包括在与所述并发域相关联的边界对象处接收来自所述并发域外部的所述软件应用程序的对象的所述工作项目,所述工作项目被导向所述第一软件应用程序组件;以及
将所述工作项目记入工作项目队列包括使所述边界对象将所述工作项目记入工作项目队列以供所述第一软件应用程序组件随后处理。
7.如权利要求6所述的方法,其特征在于,确定所述第一软件应用程序组件是否已经完成对传递给所述第一软件应用程序组件以供处理的任何先前工作项目的处理包括确定设置在所述并发域中的调度器对象是否已被通知:来自被传递给所述第一软件应用程序组件的任何先前工作项目的结果已从所述第一软件应用程序组件传递至所述边界对象。
8.如权利要求7所述的方法,其特征在于,检索已记入所述工作项目队列的所述工作项目包括响应于来自被传递给所述第一软件应用程序组件的任何先前工作项目的结果已从所述第一软件应用程序组件传递至所述边界对象的通知,使得所述调度器对象检索已记入所述工作项目队列的所述工作项目。
9.如权利要求8所述的方法,其特征在于,将所述检索到的工作项目传递给所述软件应用程序组件以供处理包括响应于来自被传递给所述第一软件应用程序组件的任何先前工作项目的结果已从所述第一软件应用程序组件传递至所述边界对象的通知,使得所述调度器对象将所述检索到的工作项目传递至所述软件应用程序组件以供处理。
10.如权利要求9所述的方法,其特征在于,还包括使所述调度器对象从所述第一软件应用程序组件扣留被导向所述第一软件应用程序组件的已记入的第二工作项目,直到所述第一软件应用程序组件由所述第一边界对象向所述外部对象返回所述所检索到的工作项目的处理结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200680014618.7/1.html,转载请声明来源钻瓜专利网。





