日期:2014-05-19  浏览次数:20671 次

C#里的线程问题
我的问题是这样的,当主程序运行,开始执行线程里的一次更新操作,然后在主程序不关闭的情况下,每隔一段时间或者是实时的执行更新操作。
    我想用多线程解决,但是
    我运行后程序就不能动了,我是写在一个死循环里的
  private   void   runDeal()
                {
                        Thread   th;
                          while   (true)
                        {
                     
                                th   =   new   Thread(new   ThreadStart(setData));
                                th.Start();
                        }
                }
有没有更好的方法来实现实时的判断并触发更新的操作呢?

------解决方案--------------------
或者在主程序中 th = new Thread(new ThreadStart(setData));
th.Start();
在setData里
while(isRunning)
{
if(DateTime.Now-lastUpdateTime > updateDuration)
{
//update data
lastUpdateTime = DateTime.Now;
}
else
Thread.Sleep(100);
}