英雄杀手游新手礼包:如何终止和暂停线程和进程?

来源:百度文库 编辑:九乡新闻网 时间:2024/10/06 00:44:48
t.Abort();可以终止一个线程
t.Suspend();可以挂起一个线程
t.Resume();继续已挂起的线程


进程关闭:CloseMainWindow
Process[]   ps   =   Process.GetProcessesByName( "进程名 ");
foreach(Process   myProcess   in   ps){
        myProcess.CloseMainWindow();
}



首先,要把这个线程定义在函数外
比如
class   A
{
          Thread   threadA;
          private   void   Init()
          {
                //在这里实例化线程A
                threadA   =   new   Thread(new   ThreadStart(   dosomething   ));
                threadA.IsBackground   =   true;   //这样程序一退出线程就会自动中止
                threadA.Start();
          }
          private   void   Button1_Click(object   sender,   System.EventArgs   e)
          {
//这个是暂停按钮的按下代码
                  if(   threadA   !=   null   )
                  {
                          threadA.Abort();
                  }
          }
}


线程转化的函数:

WaitSleepJoin------> Started
用Pulse,PulseAll,Interrupt

Running------------> WaitSleepJoin
用Wait,Sleep,Join

Running------------> Suspended
用Suspend

Suspended----------> UnStarted
用Resume

UnStarted----------> Started
用Start



threadA.IsBackground   =   true;   //后台线程
  threadA.Abort();//终止     但不是一定管用