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); 
 }