我在外部中断了一个正在执行的线程,但发现资源占用率并没有下降.请问有什么方式能够中断线程的同时释放资源?/

解决方案 »

  1.   

    进程终止会自己释放所有资源,否则得自己delete分配的堆,对产生的Handle 调用 CloseHandle
      

  2.   

    只有线程(或进程)自己退出才会释放资源的,任何外部的或程序内部强制中止线程或进程均无法释放所占用的资源,当然有些内存资源会被WINDOWS释放,如窗口资源等,但像New出来的对象所占的资源,是不会释放的,WINDOWS也没有办法的,所以,编程书上反复强调一定要正常退出线程或进程,以使用程序调用您设置的清除代码,否则没有它法,想破脑袋也没有用的,如果一定要强制中断程序,则可以这样处理,尽量在可以提前释放资源的情况,就先释放资源,这样可以在一定的程度上减少中止程序后所占的资源,但这样一来,程序代码可能就冗长很多了.总之,没有彻底解决的方法,否则谁都可以不释放对象的内存了,反正有方法可解决,谁还老查找NEW了有没有DELETE?也不存在内存泄漏了...