每秒钟运行命令,但必须等待执行完成
本文关键字:等待 执行 运行 命令 每秒钟 | 更新日期: 2023-09-27 17:50:05
我想在程序运行时运行循环,但是当它在循环内运行时,有一些代码要执行,我想要的是,循环后,它执行循环内的代码,它将延迟500毫秒。
Timer myTimer = new Timer();
myTimer.Elapsed += new ElapsedEventHandler(DisplayTimeEvent);
myTimer.Interval = 1000; // 1000 ms is one second
myTimer.Start();
public static void DisplayTimeEvent(object source, ElapsedEventArgs e)
{
// code here will run every second
Random rnd = new Random();
int rnd2 = rnd.Next(500,2000);
System.Threading.Thread.Sleep(rnd2);
}
所以,循环在执行代码之后。
假设我理解这个问题,您正在寻找一种方法来停止计时器,一旦您启动DisplayTimeEvent
方法并重新启动,如果它完成了。
虽然从你的问题中不清楚你是使用System.Windows.Forms.Timer
还是System.Timers.Timer
,但它们都有一个Stop()
方法,你可以使用:
public static void DisplayTimeEvent(object source, ElapsedEventArgs e)
{
myTimer.Stop();
// your code goes here
myTimer.Start();
}