【发布时间】:2016-05-22 16:57:34
【问题描述】:
看不懂的是下面的sn-p from MSDN:
请注意,该方法现在使用新的 async 关键字进行标记;这是 只是给编译器的一个指示器,让它知道在 此方法的上下文,关键字 await 将被视为一个点 工作流将控制权返回给它的调用者并再次拿起 当相关任务完成时。
这与非async 方法的工作方式有何不同?
如果我这样做了
int x;
x = SomeNormalFunctionThatReturnsAnInt();
Console.WriteLine(x);
或
int x;
Task<int> task = SomeAsyncFunctionThatReturnsAnInt();
x = await task;
Console.WriteLine(x);
那么从调用者的角度来看,执行顺序是完全相同的:定义了一个名为x的int,一个函数返回一个int 运行,当该函数运行完成时,其返回值设置为x,然后写入控制台。
【问题讨论】:
标签: c# .net multithreading asynchronous async-await