gpt4 book ai didi

c# - ThreadState 属性的值是多少?

转载 作者:行者123 更新时间:2023-11-30 14:20:40 27 4
gpt4 key购买 nike

This question让我想到了 .NET 等价物。 ThreadState 有什么值(value)? Thread类的属性?在此代码示例中:

if (someThread.ThreadState != System.Threading.ThreadState.Running)
{
someThread = new Thread(SomeMethod);
someThread.Start();
}

someThreadThreadState属性可以切换到 Runningif 之间和 if 中的代码,对吧?

最佳答案

ThreadState 是那些最初看起来很有前途的奇妙属性之一,但是一旦您深入了解其在函数中的使用方式,您就会发现它几乎完全没有用。

ThreadState 的主要问题是枚举名称非常具有误导性。以 ThreadState.Runnning 为例。这是一个非常糟糕的名称,因为它实际上并不表示线程正在运行。相反,它表示线程在最近的某个时间点正在运行,并且可能仍在运行,也可能不在运行。

这可能看起来微不足道,但事实并非如此。从字面上理解枚举的名称并生成非常漂亮的代码真的很容易。然而,与代码阅读一样,它通常基于有缺陷的逻辑。

我真的只将此属性用于调试目的。

此值在非常有限的场景中很有用,在这些场景中您有一些其他机制来控制您正在查看的线程。例如锁或 WaitHandle。但通常使用另一种形式的同步比依赖此属性更好。

关于c# - ThreadState 属性的值是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1010030/

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