线程的挂起与恢复分别可以通过调用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("创建线程");
}