Task.Start / Wait和Async / Await有什么区别?
我可能缺少一些东西,但是这样做有什么区别:
public void MyMethod(){
Task t = Task.Factory.StartNew(DoSomethingThatTakesTime);
t.Wait();
UpdateLabelToSayItsComplete();
}
public async void MyMethod()
{
var result = Task.Factory.StartNew(DoSomethingThatTakesTime);
await result;
UpdateLabelToSayItsComplete();
}
private void DoSomethingThatTakesTime()
{
Thread.Sleep(10000);
}
回答:
我可能会缺少一些东西
你是。
Task.Wait
和和有await task
什么区别?
您从餐厅的服务员那里订购午餐。下订单后的片刻,一个朋友走进来,坐在您旁边,开始对话。现在,您有两个选择。在任务完成之前,您可以忽略您的朋友-
您可以等到汤到达时再等待,而无需执行其他操作。或者您可以回复您的朋友,当您的朋友停止讲话时,服务员会带您汤。
Task.Wait
阻止任务直到任务完成-
在任务完成之前,您将忽略您的朋友。await
继续在消息队列中处理消息,当任务完成时,它会排队显示一条消息,提示“在等待后从您离开的地方取走”。您与朋友交谈,谈话中断时,汤就到了。
以上是 Task.Start / Wait和Async / Await有什么区别? 的全部内容, 来源链接: utcz.com/qa/425228.html