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