附上程序的简写版public void StartThread() //主程序调用分方法
{
while (true)
{
Thread myThread = new Thread(new ThreadStart(Execute)); //Execute为线程方法
Thread.Sleep(120000); //它就停在这里了
}
}我在程序里调用StartThread的时候,程序就卡在那里了。我知道原因,但是要怎么才能正确使用我就不知道了,如何调用这个StartThread并能让程序继续运行呢?thread线程
{
while (true)
{
Thread myThread = new Thread(new ThreadStart(Execute)); //Execute为线程方法
Thread.Sleep(120000); //它就停在这里了
}
}我在程序里调用StartThread的时候,程序就卡在那里了。我知道原因,但是要怎么才能正确使用我就不知道了,如何调用这个StartThread并能让程序继续运行呢?thread线程
只是线程的状态是阻塞状态。你sleep的根本目的是啥?
只是线程的状态是阻塞状态。你sleep的根本目的是啥?
其实是在做实现数据库自动备份,每隔两分钟,去比较下时间,然后决定要不要备份,我把这个自动备份在主程序中实现的。是不是我的思路弄错了。
你如果重点是时间,那你应该设置一个时间的callback,当时间符合时调用callback函数。
但是你要注意,有可能第一次备份还没完,第二次备份又开始了,这就涉及到线程同步了。
如果单线程的话,是顺序执行的,下一次计时是从这次备份完成后才开始。
而你的while循环要保证的是程序什么时候退出。所以要看你的需求。