zoukankan      html  css  js  c++  java
  • Handle unmanaged code in managed c# with the help of using statement

     
    http://stackoverflow.com/questions/3433197/what-exactly-are-unmanaged-resources

    Managed resources basically means "managed memory" that is managed by the garbage collector. When you no longer have any references to a managed object (which uses managed memory), the garbage collector will (eventually) release that memory for you.

    Unmanaged resources are then everything that the garbage collector does not know about. For example:
    •Open files
    •Open network connections
    •Unmanaged memory
    •In XNA: vertex buffers, index buffers, textures, etc.

    Normally you want to release those unmanaged resources before you lose all the references you have to the object managing them. You do this by calling Dispose on that object, or (in C#) using the using statement which will handle calling Dispose for you.

    If you neglect to Dispose of your unmanaged resources correctly, the garbage collector will eventually handle it for you when the object containing that resource is garbage collected (this is "finalization"). But because the garbage collector doesn't know about the unmanaged resources, it can't tell how badly it needs to release them - so it's possible for your program to perform poorly or run out of resources entirely.

    If you implement a class yourself that handles unmanaged resources, it is up to you to implement Dispose and Finalize correctly.
  • 相关阅读:
    Ztree下拉框多选
    FullCalendar日程插件
    viscose 前端常用插件
    一些词
    关于require()和export引入依赖的区别
    关于CMD/AMD和Common.js/Sea.js/Require.js
    vue中的双向数据绑定原理简单理解
    Vue-cli简单使用
    webpack简单配置
    vuex基础
  • 原文地址:https://www.cnblogs.com/kingangWang/p/2152869.html
Copyright © 2011-2022 走看看