new一个Thread用于下载,下载资源使用的事务。  如果要取消下载,关闭线程调用。
但是调用 workerThread.Abort();+//workerThread.Join();  并没有关闭线程,而且线程函数一直在调用直到结束。
使用一个比较笨的方法 //  workerThread.IsBackground = true;  让程序退出自动去关闭线程,可是这样资源一直在占用··
   求指点,如果在new 一个线程后,及时关闭线程,释放资源

解决方案 »

  1.   

    可以用WaitHandle类去给定信号set和reset去控制信号
      

  2.   

    调用 workerThread.Abort();在其线程内会引发ThreadAbortException异常
    你捕捉一下这个异常然后做出相应处理,最后return
      

  3.   


    我问的就是如何使用安全的方法关闭终止线程(用Abort()这个,如题中,并没有把他关闭),释放资源,就是不想把他设置能后台线程,让程序关闭的时候才自动去终止线程
      

  4.   

    Abort()方法是在线程中引发了一个ThreadAbortException异常,如果你在线程函数中捕获了异常,则线程就不会退出。4、5、6楼说的都是对的,正常退出线程的方法是采用信号,外部置信号,然后在线程函数中检查信号,让线程正常退出。