关闭窗体时执行下面的操作:
 MyThread.Abort()
Application.Exit()

MyThread.Abort()
me.close()
发现都一样没有释放资源,进程仍然存在,请问应如何正常退出程序!

解决方案 »

  1.   

    MyThread.Abort();
    MyThread.Join();
    MyThread = null;
      

  2.   

    private void Form1_Closed(object sender, System.EventArgs e)
    {
    MyThread.Abort();
    }
    这样试试,要是不行,可能你的资源还在占用,不能结束掉,看看程序,那里应该释放资源而没有释放掉
      

  3.   

    t0h(t0h) :
    MyThread.Abort();
    MyThread.Join();
    MyThread = null;
    程序关闭时会死掉,MyThread.Join();没有什么用吧?
      

  4.   

    to huguguhu() ( ) 信誉:83 
    试过了,进程仍然存在
      

  5.   

    to qingping21cn.join()是阻塞当前调用进程,直到mythread终止
    如果调用.join()时  代码死掉了  可以检查一下你的mythread在干什么
      

  6.   

    mythread 里面是一个无限循环 while true
      

  7.   

    我刚试验了一下
    在线程里while(true){int i=0;i++;}  停掉它用了两秒种~  不清楚你代码里做什么动作~或者是否可以考虑 把while(true)  换成while(condition) 然后在要停她的地方condition=false;
      

  8.   

    我觉得原因是你在用Abort()的时候,MyThread根本就不是指的要关闭的那个进程