摘要: 在上篇文章.NET对象与Windows句柄(二):句柄分类和.NET句柄泄露的例子中,我们有一个句柄泄露的例子。例子中多次创建和Dispose了DataReceiver和DataAnalyzer对象,但由于忘记调用DataAnalyzer的Stop方法,导致产生句柄泄露。本文假定我们已经发现了泄露现 阅读全文
posted @ 2017-01-15 14:50 遥望星空 阅读(794) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章介绍了句柄的基本概念,也描述了C#中创建文件句柄的过程。我们已经知道句柄代表Windows内部对象,文件对象就是其中一种,但显然系统中还有更多其它类型的对象。本文将简单介绍Windows对象的分类。 句柄可以代表的Windows对象分为三类,内核对象(Kernel Object)、用户对象 阅读全文
posted @ 2017-01-15 14:44 遥望星空 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 在.NET编程中,得益于有效的内存管理机制,对象的创建和使用比较方便,大多数情况下我们无须关心对象创建和分配内存的细节,也可以放心的把对象的清理交给自动垃圾回收来完成。由于.NET类库对系统底层对象进行了封装,我们也不需要调用Windows API来操作非托管对象。但不直接操作非托管对象,并不意味着 阅读全文
posted @ 2017-01-15 14:42 遥望星空 阅读(401) 评论(0) 推荐(0) 编辑