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

回到顶部