作者goodguychung (泡麵終結者)
看板C_Sharp
標題[問題] 偶發Timer不會執行
時間Mon Oct 22 20:42:41 2018
請教各位前輩。
小弟使用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();
}));
}
...
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.80.102
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1540212164.A.FC1.html
推 jass970991: .net有三個timer 好像有一個是用法上要注意的 忘了哪 10/23 09:33
→ jass970991: 個 10/23 09:33
推 Litfal: 他這個應該是最不需要注意的 雖然不知道他為什麼要這樣寫 10/23 17:46
→ Litfal: 說明一下使用情境吧 你這樣如果沒有在Timer事件裡把Timer 10/23 17:48
→ Litfal: 關掉,Timer應該會幾乎把UI執行續卡死...但如果只跑一次 10/23 17:49
→ Litfal: 又不需要用Timer 10/23 17:49
推 jamyang: 可以檢查是否偶發沒有觸發這個事件 10/24 07:05
推 gundan: log寫多一點阿 … 查問題的時候就好用了 11/02 14:48