如果你的代码里调用了非托管的资源,那么就不会,否则.NET GC会处理那些没有回收的资源的。

解决方案 »

  1.   

    如果你的程序连进程都结束了,那么它所调用的资源都会被系统回收
    这个跟.Net就没有关系了
      

  2.   

    程序都终止了,windows会回收所有资源。
      

  3.   


    .NET 是不会自动回收非托管的资源的。
    Window系统是不会自动回收异常终止程序的资源的。
      

  4.   

    .NET确实不会自动回收非托管资源
    但是.NET程序本身已经崩溃,进程已经终止
    Windows系统仍然将终止的进程申请的内存在那里放着不管?
      

  5.   

    看是什么资源了。一些只在一个进程中存在的资源,比如分配的内存,会被释放。一些多个进程共享的资源会处于不确定状态,例如磁盘文件或者是内存映射文件中的数据可能是写到一半就终止的,无法保证数据完整性。Mutex会标记为已放弃,但是semaphore的引用计数不会减少。
      

  6.   


    .NET 是不会自动回收非托管的资源的。
    Window系统是不会自动回收异常终止程序的资源的。
    得看资源是什么,硬盘临时文件不会被回收,应用程序所占内存还是会回收的。