c# – 为什么Thread不实现IDisposable?

前端之家收集整理的这篇文章主要介绍了c# – 为什么Thread不实现IDisposable?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我注意到System.Threading.Thread实现了一个finalizer,但不是IDisposable.推荐的做法是在执行终结器时始终实现IDisposable.杰弗里·里奇特 wrote指出,这个指导方针“非常重要,应该永远无一例外”.

那么为什么Thread不实现IDisposable?似乎实现IDisposable将是一个不间断的变化,将允许确定性地清理Thread的可完成资源.

还有一个相关的问题:由于线程是可以完成的,我必须持有对正在运行的线程的引用,以防止它们在执行期间被完成?

解决方法

什么会处理一个Thread对象?这种情况下的“资源”有自己的自然清理 – 线程整理.请注意,所有权感也缺少…在执行的线程中,您可以随时使用Thread.CurrentThread,因此只有该线程才能够声明任何类型的所有权.

基本上我认为线程是一个稍微不寻常的情况 – 底层资源有一生,但它不是明确清理的东西.

猜你在找的C#相关文章