GTH*_*ten 27 c# asynchronous task async-await
任务什么时候开始?
public void DoSomething() {
Task myTask = DoSomethingAsync();
Task.WaitAll(new[] { myTask }, 2000);
}
public async Task DoSomethingAsync() {
await SomethingElse();
}
Run Code Online (Sandbox Code Playgroud)
它是在初始化时立即Task myTask = DoSomethingAsync();启动还是在您说等待时启动Task.WaitAll(new[] { myTask }, 2000);?
Pat*_*man 38
调用async方法会返回热任务,即已启动的任务.因此,没有必要强制它运行的实际代码.
根据MSDN(感谢Stephen Cleary),基于任务的异步模式(TAP)模式要求返回的任务很热.这意味着所有任务,除了那些创建的任务new Task都会很热.
从引用的文章:
由公共
Task构造函数创建的任务称为冷任务...所有其他任务在热状态下开始其生命周期.
| 归档时间: |
|
| 查看次数: |
3208 次 |
| 最近记录: |