我的程序用一條線程監聽端口,但用的是死循環,所以想abort也abort不了,關閉程序,但進程還是在運行當中,如何解決

解决方案 »

  1.   

    protected bool isEnd = false;线程中
    while (!isEnd)
    {
      ...
    }终结时
    isEnd = true;
    xxThread.Abort();
    xxThread.Join(...);
      

  2.   

    监听端口的死循环可以这么写bool boolRun=true;
    线程中
    while(boolRun)
    {
    ...
    }button 事件里
    boolRun=false;
    thread.abort();
    个人看法,仅供参考
    等高手来答
      

  3.   

    abort会产生一个异常,你的THREAD有可能处理不了,而不能释放资源或者运行结束!
    线程中 
    while(boolRun) 

    ... 

    是比较好的!按照MS的说法,要结束一个thread,最好是让它自己运行完毕,自行结束。
      

  4.   

    那么ExitProcess吧
    实在迫不得已就只好TerminateThread,ExitThread了
    - -|||
      

  5.   

    将线程的优先级调低就可以了。thread.IsBackground = true;