我有一个简单的代码:
static void Main(string[] args)
{
var timer = new Timer(0.5 * 60 * 1000); // 0.5 minutes times 60 seconds times 1000 miliseconds
timer.Elapsed += new System.Timers.ElapsedEventHandler(Start);
timer.AutoReset = true;
timer.Start();
}
这将启动一个计时器并启动整个程序逻辑。问题是控制台应用程序会关闭,什么也不会发生。我该如何解决这个问题?我知道如果像while(true)这样做就可以解决,但这似乎不是一个优雅/适当的解决方法。
timer.Start()
方法会触发一个新线程。一旦你调用它,它就不会阻止当前(主)线程。如果你在等待计时器完成,那么你可能想要使用回调函数。 - Brandon