[发明专利]用于执行异步编程代码的方法和系统有效

专利信息
申请号: 201210034926.3 申请日: 2012-02-16
公开(公告)号: CN102681843B 公开(公告)日: 2017-06-13
发明(设计)人: 赵晓绚;S.史林尼瓦森;周翔;江逢斌 申请(专利权)人: 微软技术许可有限责任公司
主分类号: G06F9/44 分类号: G06F9/44
代理公司: 中国专利代理(香港)有限公司72001 代理人: 黄维,刘鹏
地址: 美国华*** 国省代码: 暂无信息
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 改进 异步 编程 执行
【说明书】:

背景技术

编程代码可以同步方式写入,同步方式可包括按顺序方式来执行代码。举例而言,可执行第一操作,且第一操作的结果可用作第二操作的输入。这种类型的编程通常容易写,但可能执行起来没有效率(例如,在第一操作的输出用作第二操作的输入的场合,第二操作可能不得不等待相当长的时间让第一操作执行完毕,然后第二操作可以开始执行)。举例而言,当存在长输入/输出调用时,其中结果可能花费长时间返回,在同步编程执行中,代码执行进程线程可变得受阻。在此实例中,当线程受阻而不能继续执行时,编程的继续执行可被停止。通过在单独线程上执行一些异步操作,异步编程可提供编程的多线程执行。因此如果一个线程变得受阻,其可不造成编程的执行受阻。然而,虽然更高效,但异步编程更难写。

发明内容

提供本发明内容以便以简化形式介绍概念的选择,这些概念在下面在具体实施方式中进一步描述。本发明内容不预期标识所要求保护的主题的关键因素或必要特征,也不预期用来限制所要求保护的主题的范围。

传统异步编程模型试图解决执行长运行任务时线程受阻的问题。异步编程可提供在执行某些长输入/输出(I/O)调用(一个或多个)时释放进程执行线程,但其也可由于引入了分发(passing around)进程执行的异步状态和异步回调代表(callback delegate)而使应用设计和编程进程复杂。即,对于不同的异步编程解决方案,仍存在问题。

因此,公开了一种或多种技术和/或系统,其中可以实施高效且易于使用的异步编程框架来帮助程序设计员按顺序方式对异步代码编程,类似于传统同步编程。例如可以移除不必要的线程上下文切换,从而减小了上下文线程切换的计算成本,且可提供用户友好界面和操作抽象。另外,在运行时间期间的异常(exception)可以向上传播到虚拟调用栈,例如以可为传统(同步)程序设计员熟知的方式。

在改进运行时间异步编程执行的一个实施例中,其中异步编程代码包括多于一个层次等级,能展开在异步编程代码的一部分中的各个聚集操作。在此实施例中,展开可包括将异步编程代码的多等级迭代执行的元素组合为单个等级迭代执行,从而将聚集操作转换为聚集操作的级联的局部逻辑代码。另外,在异步编程代码的展开部分中的线程上下文切换只能在异步操作时进行,由此减少不必要的切换。

为了实现前述和相关目的,下文的描述和附图陈述了某些说明性方面和实施方式。这些仅指示其中可采用一个或多个方面的各种方式中的少数方式。当结合附图考虑时,根据下面的详细描述,本公开的其它方面、优点和新颖的特征将变得清楚明白。

附图说明

图1示出了其中可执行异步代码的一个或多个当前或现有技术的实例实施例。

图2示出了其中可执行异步代码的一个或多个当前或现有技术的实例实施例。

图3为用于改进运行时间异步编程执行的示例性方法的流程图。

图4A和图4B示出了其中可实施本文所述的一个或多个技术的实例实施例。

图5示出执行栈布置的实例实施例,其中异常可传播到执行栈顶部。

图6A为其中可并行地执行两个或更多操作的实例实施例的流程图。

图6B示出了可并行地执行的两个或更多操作的实例伪代码。

图7为用于改进运行时间的异步编程执行的系统的示例性实施例的组件图。

图8为包括处理器可执行指令的示例性计算机可读介质的图示,所述处理器可执行指令被配置为实施本文所述的规定中的一个或多个。

图9示出其中可实施本文所述的规定中的一个或多个的示例性计算环境。

具体实施方式

现参看附图来描述所要求保护的主题,其中通篇同样的附图标记一般用于指代同样的元件。在下文的描述中,出于解释说明的目的,陈述了许多具体细节以提供对所要求保护的主题的透彻理解。但可显然,所要求保护的主题可在无这些具体细节的情况下来实践。在其它情况下,以方块图的形式示出结构和设备以便于描述所要求保护的主题。

图1示出了其中可执行异步代码的一个或多个当前或现有技术的实例实施例100。在此实例实施例100中,在该代码中存在连续的异步,其中异步操作能按顺序进行,使用某些迭代执行。异步编程代码包括具有相关联局部逻辑102的一系列异步操作104、106、108。在此实例100中,对于操作一104读取局部逻辑102A,操作一104能产生结果,包括对局部逻辑102B的输入。依次进行操作二 106且然后进行操作三108。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210034926.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top