日期:2014-05-17  浏览次数:20866 次

C# 多线程后台线程的ThreadState问题
我将一个线程设置为后台线程,且该线程尚未Start。 当我用如下语句判断线程状态时,无法成功

Thread th=new Thread(new ThreadStart(a));
th.IsBackground=true;

if(th.ThreadState==ThreadState.Unstarted) //问题在这里,这里总是返回False,我调试了一下(th.ThreadState 返回的是 BackGround|Unstarted ,可是ThreadState里并没有这个状态啊。

请教多线程高手,在线等大牛

------解决方案--------------------
这是多个状态并存的标识方法,比如 A|B|C,同时具有ABC
------解决方案--------------------
if(th.ThreadState==ThreadState.Unstarted)
这个你可以写成
if(th.ThreadState.Contains(ThreadState.Unstarted))

返回BackGround|Unstarted 这个是这两种状态并存同时存在!