Task.Delay,Thread.Sleep 的共性跟异性
Thread.Sleep 方法
将当前线程挂起指定的时间。
Sleep(Int32)
public static void Sleep (int millisecondsTimeout);
参数
millisecondsTimeout Int32 挂起线程的毫秒数。 如果 millisecondsTimeout 参数的值为零,则该线程会将其时间片的剩余部分让给任何已经准备好运行的、具有同等优先级的线程。 如果没有其他已经准备好运行的、具有同等优先级的线程,则不会挂起当前线程的执行。
for (int i = 0; i
await Task.Delay(1000);
return 42;
});
t.Wait();
Console.WriteLine("Task t Status: {0}, Result: {1}",
t.Status, t.Result);
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210720090308414.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAwOTg5OA==,size_16,color_FFFFFF,t_70)
Task.Factory.StartNew(delegate
{
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + " ****** 开始Sleep()");
for (int i = 1; i
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + " ====== 开始Delay()");
for (int i = 101; i
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + " ====== 开始Delay()");
for (int i = 101; i |