[問題] 偶發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