[问题] 偶发Timer不会执行

楼主: goodguychung (野生金城武)   2018-10-22 20:42:41
请教各位前辈。
小弟使用c#的System.Windows.Forms.Timer,
在执行绪内呼叫timer,欲进行即刻的启动时,
偶发会出现无法start的情形(机率极低)。
这个现象只有在一台中电脑会发生。
大多数的电脑上运行却又从未出现过。
小弟的写法如下,是否用法有误?
void Thread()
{
While(true)
{
...
//当达成某些事件时即刻启动timer
this.BeginInvoke(new EventHandler(delegate
{
this.recognitionTimer.Stop();
this.recognitionTimer.Interval = 1;
recognitionTimer.Start();
}));
}
...
}
作者: jass970991 (半糖绿假面超人)   2018-10-23 09:33:00
.net有三个timer 好像有一个是用法上要注意的 忘了哪个
作者: Litfal (Litfal)   2018-10-23 17:46:00
他这个应该是最不需要注意的 虽然不知道他为什么要这样写说明一下使用情境吧 你这样如果没有在Timer事件里把Timer关掉,Timer应该会几乎把UI执行续卡死...但如果只跑一次又不需要用Timer
作者: jamyang (Jack)   2018-10-24 07:05:00
可以检查是否偶发没有触发这个事件
作者: gundan (弹弹的哀伤)   2018-11-02 14:48:00
log写多一点阿 … 查问题的时候就好用了

Links booklink

Contact Us: admin [ a t ] ucptt.com