c# – 我应该为包含Thread的类实现IDisposable

c# – 我应该为包含Thread的类实现IDisposable,第1张

概述我有一个使用 Thread类的类: class A{ public Thread thread { get; set; }} 我应该实现IDisposable并将Thread属性设置为null吗? class A : IDisposable{ public Thread Thread { get; set; } protected bool Disp 我有一个使用 Thread类的类:
class A{    public Thread thread    { get; set; }}

我应该实现Idisposable并将Thread属性设置为null吗?

class A : Idisposable{    public Thread Thread    { get; set; }    protected bool disposed    { get; set; }    public voID dispose()    {        dispose(true);        GC.SuppressFinalize(this);    }    protected virtual voID dispose(bool disposing)    {        if (!this.disposed)        {            if (disposing)            {                if (Thread != null)                    Thread = null;            }            disposed = true;        }    }}

或不?
为什么?

解决方法 只有当您的类处理非托管对象,资源或其他Idisposable对象时,才实现Idisposable.线程不是非托管对象,并且在没有任何引用它时或者处理它的进程终止时将收集垃圾.由于Thread没有实现Idisposable,因此引用它的类也不需要实现它.

(可选)对于方法范围内的Idisposable,可以将它们包装在using语句中,并在退出作用域时自动调用dispose()方法.

总结

以上是内存溢出为你收集整理的c# – 我应该为包含Thread的类实现IDisposable全部内容,希望文章能够帮你解决c# – 我应该为包含Thread的类实现IDisposable所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1248441.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存