我想每秒运行一个计时器。但我不想在 UI 线程上运行它,以防止冻结。
所以,我使用的定时器不是 Designer 提供的内置定时器。我不太确定这是否是正确的方法。
threadtimer = new System.Threading.Timer(timer, null, 1000, Timeout.Infinite);
private void timer(object obj)
{
dowork.....
threadtimer.Change(1000, Timeout.Infinite);
}
这似乎是错误的,我首先创建了线程,并告诉它在 1000 之后运行无限时间。我仍然必须重新讲述它才能永远做到这一点。如果它不成立,为什么我什至还有第二个论点?