Thread.Sleep(5000);
stopwatch.Stop();
Console.WriteLine(stopwatch.ElapsedMilliseconds);
Thread.suspend(5000);
Console.WriteLine(stopwatch.ElapsedMilliseconds);
Thread.Sleep(5000);
stopwatch.Stop();
Console.WriteLine(stopwatch.ElapsedMilliseconds);
Thread.suspend(5000);
Console.WriteLine(stopwatch.ElapsedMilliseconds);
Sleep 用于单个线程,可以暂停线程一段时间。相比之下,suspend已经被弃用。
此外,请参阅MSDN中有关Suspend的说明:
不要使用Suspend和Resume方法来同步线程活动。当您暂停线程时,没有办法知道该线程正在执行什么代码。如果在安全权限评估期间暂停一个持有锁的线程,则AppDomain中的其他线程可能会被阻塞。如果在执行类构造函数时暂停一个线程,则AppDomain中试图使用该类的其他线程将被阻塞。非常容易发生死锁。
“Sleep”指的是线程休眠5000毫秒。 “Suspend”指的是当您恢复线程启动时,线程停止。