【发布时间】:2017-11-09 16:06:19
【问题描述】:
我可以假设doTask 和doTask2 做同样的工作并且可能在代码中被替换吗?
public async static void doTask()
{
await Task.Delay(TimeSpan.FromSeconds(5));
}
public async static void doTask2()
{
await Task.Factory.StartNew(() =>
{
Thread.Sleep(TimeSpan.FromSeconds(5));
});
}
根据我的实验,这两个函数的作用相同。
【问题讨论】:
-
第一个允许为任务服务的线程返回操作系统。第二个阻塞线程。第一个更好。
-
其实真的different
-
顺便说一句,
async voidconsidered harmful。即使在示例中也要避免。
标签: c# multithreading