Spe*_*uch 10 c# multithreading idisposable finalizer
我注意到System.Threading.Thread实现了终结器而不是IDisposable.建议的做法是在实现终结器时始终实现IDisposable.杰弗里里希特写道,该指南"非常重要,应始终遵循".
那么为什么Thread没有实现IDisposable?看起来实现IDisposable似乎是一个非破坏性的变化,可以确定性地清理Thread的可终结资源.
还有一个相关的问题:由于线程是可终结的,我是否必须保持对运行线程的引用以防止它们在执行期间被最终确定?
什么会处置一个Thread对象呢?在这种情况下,"资源"有自己的自然清理 - 线程完成.请注意,缺少所有权感......在执行线程中,您始终可以使用Thread.CurrentThread,因此只有该线程才能真正声明任何所有权.
基本上我认为这Thread是一个稍微不寻常的情况 - 底层资源有一个生命周期,但它不是应该明确清理的东西.