gpt4 book ai didi

c# - Task.Start/Wait 和 Async/Await 之间有什么区别?

转载 作者:IT王子 更新时间:2023-10-29 03:29:38 25 4
gpt4 key购买 nike

我可能遗漏了一些东西,但这样做有什么区别:

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);
}

最佳答案

I may be missing something

你是。

what is the difference between doing Task.Wait and await task?

您在餐厅向服务员点了午餐。下订单后不久,一位 friend 走进来坐在你旁边,开始交谈。现在你有两个选择。在任务完成之前,您可以忽略您的 friend ——您可以等到汤端上来,在等待期间什么都不做。或者你可以回复你的 friend ,当你的 friend 停止说话时,服务员会给你端汤。

Task.Wait 阻塞直到任务完成——在任务完成之前你忽略你的 friend 。 await 继续处理消息队列中的消息,当任务完成时,它会将一条消息放入队列,上面写着“在等待之后从你离开的地方开始”。你和你的 friend 聊天,当谈话中断时,汤就上来了。

关于c# - Task.Start/Wait 和 Async/Await 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9519414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com