现在的位置: 首页 > 综合 > 正文

Thread中的Join问题

2012年10月10日 ⁄ 综合 ⁄ 共 359字 ⁄ 字号 评论关闭
 

我在开发一个项目时,发现Thread.Join方法将导致CPU使用率100%。由于项目的特殊性,我是在一个线程中使用了while,并在其中又开启了一个线程,然后等其完成。这样运行后发现CPU使用率达到了100%。显然这是不允许的。

因此,在没有更好的办法之前,我使用了下面的这个方法暂时解决了问题。

 int TimeCount=100;

while(Threadname.IsAlive && TimeCount>0)

{

     TimeCount--;

      Thread.Sleep(100);  //如果设Sleep(1) 时间计数将不准,也可考虑其它记数方式。

}

......

这相当于Thread.Join(10000);这回CPU使用率就下来了。

由于本人对Thread了解不多,不知道是否还有其它更好的方法,希望大家指正。

抱歉!评论已关闭.