如何理解async和await设计模式和如何应用到.net 4以下的framewor(2)

来源:未知 责任编辑:责任编辑 发表时间:2015-10-08 14:15 点击:

  后续工作(v1, v2);
}

被翻译成状态机

class 状态机{
    int _v1, _v2;
    int 状态变量 =起始态;  
    Task<int> _await1; 
    public void Step() {   
        switch(this.状态变量) {  
            case 起始态:      
                foo();
                this._v1 = 前序工作();
                this._await1 = 费时工作();     
                // 当费时工作异步完成时, 异步工作将改变状态变量值
                this.状态变量= 顺利完成;     
                继续调用自身即 Step函数;    //op.SetContinuation(Step);   
            case 顺利完成:     
                this._v2 = this._await1.Result; //费时工作结果    
                后续工作(this._v1, this._v2); 
    }
}

事实上我们亦可以在.net framework 4以下想上面的状态机类一样来调用异步函数,这样同步调用的逻辑还是保持住了,也更好理解,对于循环的处理简单多了。



摘自 cjq1234的专栏
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 浅析.NET下XML数据访问新机制
  • asp.net 面试+笔试题目第1/2页
  • C# 邮件地址是否合法的验证
  • asp.net 设置GridView的选中行的实现代码
  • C#高级编程:数据库连接[1]
  • ASP.NET&#160;GridView列表代码示例
  • 经典C++程序1
  • 微软ASP.NET站点部署指南(2):部署SQL Server Compact数据库
  • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1