C#中Thread的挂起和睡眠之间的区别

5
Thread.Sleep(5000);
stopwatch.Stop();
Console.WriteLine(stopwatch.ElapsedMilliseconds);
Thread.suspend(5000);
Console.WriteLine(stopwatch.ElapsedMilliseconds);

区别在于你都不应该使用。 - H H
2个回答

7

Sleep 用于单个线程,可以暂停线程一段时间。相比之下,suspend已经被弃用

此外,请参阅MSDN中有关Suspend的说明:

不要使用Suspend和Resume方法来同步线程活动。当您暂停线程时,没有办法知道该线程正在执行什么代码。如果在安全权限评估期间暂停一个持有锁的线程,则AppDomain中的其他线程可能会被阻塞。如果在执行类构造函数时暂停一个线程,则AppDomain中试图使用该类的其他线程将被阻塞。非常容易发生死锁。


有可能是关于Java吗?这个问题是关于.NET(C#)的。 - g.pickardou
1
谢谢您的回复。 - kannan ganesh

2

“Sleep”指的是线程休眠5000毫秒。 “Suspend”指的是当您恢复线程启动时,线程停止。


感谢您的回复。 - kannan ganesh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接