在c#中如何强制杀死一个线程,把线程Abort()后线程的状态isalive还是true。

解决方案 »

  1.   

    那表示你线程里面调用的方法正在使用,很可能是while等循环在工作,所以线程并没有强制关闭。这时如果你关掉界面应该就会弹出“线程正在中止”的对话框。想办法在调用Abort()方法之前退出循环就进了。
      

  2.   

    使用信号量,
    private static eventWaitHandle ewh_exit = new eventWaitHandle(false,eventResetMode.Mannual);然后在线程里面这样写哈。如果你是用whilewhile(true)
    {
    if(ewh_exit.wait(0,false))
    {
    ewh_exit.reset();
    break;
    }
    do something.....}
    在外部,如果你要强制退出线程,则这样写:
    ewh_exit.set();