2012-11-28 31 views
6

如果一个方法被声明为'async',那么当我们调用该方法时,我们可以使用await或不使用它。我想知道何时使用它,以及使用它的效果是什么。何时使用等待关键字

+1

你接近它:只有当你需要使用'await'时才应该使用'async'。当需要异步等待某些操作时,可以使用'await'。 –

回答

2

async关键字只是编译器的一个指示器,表明该方法可能包含await语句。

这里有一个有趣的帖子由埃里克利珀解释要求“异步”的设计选择

意味着我们可以消除一次全部向后兼容性的问题;任何包含await表达式的方法都必须是“新建”代码,而不是“旧工作”代码,因为“旧工作”代码从未有过异步修饰符。

http://blogs.msdn.com/b/ericlippert/archive/2010/11/11/whither-async.aspx

1

所标记的异步方法通常使用等待指定悬挂点。 await运算符告诉编译器,异步方法不能超过该点,直到等待的异步过程完成。同时,控制权返回给异步方法的调用者。

换句话说

如果你正在做asyncronius编程,并希望simultaniusly运行某些线程任务,你会想要依靠异步和等待

更详细的解释在这里

http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx

相关问题