c#中Thread中挂起和休眠的区别

kan*_*esh 5 c#

Thread.Sleep(5000);
stopwatch.Stop();
Console.WriteLine(stopwatch.ElapsedMilliseconds);
Thread.suspend(5000);
Console.WriteLine(stopwatch.ElapsedMilliseconds);
Run Code Online (Sandbox Code Playgroud)

Rah*_*thi 6

Sleep在单个线程上使用,它会暂停一个线程一段时间.而暂停已被弃用.

另请查看MSDN关于暂停的备注:

不要使用Suspend和Resume方法来同步线程的活动.暂停它时,您无法知道线程正在执行的代码.如果在安全权限评估期间挂起线程时挂起线程,则可能会阻止AppDomain中的其他线程.如果在执行类构造函数时挂起线程,则会阻止AppDomain中尝试使用该类的其他线程.死锁很容易发生.


小智 2

Sleep 表示线程休眠 5000(毫秒)。挂起意味着当您恢复线程启动时线程停止。