下面的代码条一的ThreadState四个最有用的价值之一:未开始,运行,WaitSleepJoin,并停止:这个线程状态函数是做什么的?
public static ThreadState SimpleThreadState (ThreadState ts)
{
return ts & (ThreadState.Unstarted |
ThreadState.WaitSleepJoin |
ThreadState.Stopped);
}
我在书上读到上面,但我不能肯定是作者想在这里说明。我已经测试象下面这样:
class Program
{
static void Main(string[] args)
{
System.Console.WriteLine(SimpleThreadState(ThreadState.Aborted));
System.Console.WriteLine(SimpleThreadState(ThreadState.Background));
System.Console.WriteLine(SimpleThreadState(ThreadState.AbortRequested));
System.Console.WriteLine(SimpleThreadState(ThreadState.Suspended));
System.Console.WriteLine(SimpleThreadState(ThreadState.Unstarted));
System.Console.WriteLine(SimpleThreadState(ThreadState.WaitSleepJoin));
System.Console.WriteLine(SimpleThreadState(ThreadState.Stopped));
}
public static ThreadState SimpleThreadState(ThreadState ts)
{
return ts & (ThreadState.Unstarted |
ThreadState.WaitSleepJoin |
ThreadState.Stopped);
}
}
这里是运行结果: 运行 运行 运行 运行 未开始 WaitSleepJoin 停止
最后三行的输出是直线前进,但为什么所有其他输出运行状态?
谢谢!