gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 09:06:54 25 4
gpt4 key购买 nike

我注意到 System.Threading.Thread 实现了终结器而不是 IDisposable。推荐的做法是在实现终结器时始终实现 IDisposable。杰弗里·里希特 wrote该准则“非常重要,应始终无一异常(exception)地遵守”。

那么为什么 Thread 不实现 IDisposable?看起来实现 IDisposable 将是一个不间断的更改,它将允许确定性地清理 Thread 的可终结资源。

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

最佳答案

处理 Thread 对象会做什么?这种情况下的“资源”有它自己的自然清理——线程整理。请注意,还缺少所有权感......在执行线程中,您始终可以使用 Thread.CurrentThread,因此只有该线程才能真正声明任何类型的所有权。

基本上我认为 Thread 是一种稍微不寻常的情况 - 底层资源有生命周期,但它不应该明确清理。

关于c# - 为什么 Thread 不实现 IDisposable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1716896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com