如何理解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的专栏
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>