C#里的Socket对象是属于托管资源还是非托管资源?
时间: 2020-04-18来源:博客园
前景提要
C#里的Socket对象是属于托管资源还是非托管资源?
0 悬赏园豆: 10 [待解决问题] .net里的Socket对象是属于托管资源还是非托管资源?
同样的Semaphore这个是属于托管还是非托管资源呢?
这些类是包装操作系统资源的,我一直理解为这些是非托管资源,但是在.net这些类应该已经对系统资源进行了封装了,.net应该是知道如何对这些类进行回收的,应该属于托管资源。
也就是说我们如何判断一个对象是托管资源还是非托管资源呢?(感觉有些类虽然代表着系统资源,一眼看过去会认为是非托管资源,但已经其实被封装好了,.net应该是知道如何对其进行回收的,应该是托管资源。)
或者说我们编程中哪些是属于非托管资源的,能举几个例子吗? C# 托管资源 a14907 | 初学一级 | 园豆: 157
提问于:2020-04-18 16:16 显示帮助
使用"Ctrl+Enter"可进行快捷提交,评论支持部分 Markdown 语法:[link](http://example.com) _italic_ **bold** `code`。
< > 分享
分享您的问题
所有回答(2) 0 非托管:SerialPort 需要手动释放..
这个不清楚,mark坐等大佬回答 猝不及防 | 园豆:1976 (小虾三级) | 2020-04-20 11:04 编辑文本 预览 上传图片
Ctrl+Enter键快速提交 0 非托管
非托管
.net知道如何回收这些资源,但是不知道何时回收,一般情况下非托管资源可以由.net自动回收,但是有些资源比较少,需要手动自动回收。
如何判断对象是不是托管资源?
全部资源由CLR管理的是托管资源,其他的不是,简单说一个对象如果保存了非托管资源就是非托管资源。基本只能靠文档来分辨是不是。当然,如果一个类实现了IDospose接口,就需要确认一下是不是非托管资源。 拓拓 | 园豆:543 (小虾三级) | 2020-04-20 13:56 编辑文本 预览 上传图片
Ctrl+Enter键快速提交
清除回答草稿
您需要 登录 以后才能回答,未注册用户请先 注册 。

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行