线程的挂起与恢复

创建完一个线程并启动之后,还可以挂起、恢复、休眠或终止它,本节主要对线程的挂起与恢复进行讲解。
线程的挂起与恢复分别可以通过调用Thread类中的Suspend方法和Resume方法实现,下面对这两个方法进行详细介绍。
1.Suspend方法
该方法用来挂起线程,如果线程已挂起,则不起作用。语法如下。

public void Suspend ()
 说明:调用Suspend方法挂起线程时,.NET允许要挂起的线程再执行几个指令,目的是为了到达.NET认为线程可以安全挂起的状态。
2.Resume方法
该方法用来继续已挂起的线程,语法如下。

public void Resume ()
 说明:通过Resume方法来恢复被暂停的线程时,无论调用了多少次Suspend方法,调用Resume方法均会使另一个线程脱离挂起状态,并导致该线程继续执行。
例如,创建一个控制台应用程序,其中通过实例化Thread类对象创建一个新的线程,然后调用Start方法启动该线程,之后先后调用Suspend方法和Resume方法挂起和恢复创建的线程。代码如下。
static void Main(string[] args)
{
    Thread myThread; //声明线程
 //用线程起始点的ThreadStart委托创建该线程的实例
 myThread = new Thread(new ThreadStart(createThread));
 myThread.Start();//启动线程
 myThread.Suspend();//挂起线程
 myThread.Resume();//恢复挂起的线程
}
public static void createThread()
{
    Console.Write("创建线程");
}

原文地址:https://www.cnblogs.com/wangsaiming/p/2039351.html