日期:2014-05-17  浏览次数:20730 次

关于线程的挂起问题
在多线程中,如果想挂起当前线程,可以用Thread的suspend方法。C#中有sleep方法吗?如果有,和suspend有什么区别呢?

------解决方案--------------------
Sleep(int)是暂停当前线程指定的毫秒数。
Suspend()仅仅挂起线程,通过Resume()可恢复。
Thread.Suspend()与 Thread.Resume()是在Framework1.0 就已经存在的老方法了,它们分别可以挂起、恢复线程。但在Framework2.0中就已经明确排斥这两个方法。这是因为一旦某个线程占用了已有的资源,再使用Suspend()使线程长期处于挂起状态,当在其他线程调用这些资源的时候就会引起死锁!所以在没有必要的情况下应该避免使用这两个方法。

非常好的博文,关于多线程的:
http://www.cnblogs.com/leslies2/archive/2012/02/07/2310495.html#t1