0
如何在沒有定時器的情況下每2分鐘執行一次代碼? 。我想我可以用線程來做,但是怎麼做呢?並使用計時器或線程更好?使用線程而不是定時器[VB.NET]
如何在沒有定時器的情況下每2分鐘執行一次代碼? 。我想我可以用線程來做,但是怎麼做呢?並使用計時器或線程更好?使用線程而不是定時器[VB.NET]
線程對於一個定時器來說是一個不合理的昂貴的選擇,特別是那個慢的定時器。調用Sleep(2 * 60 * 1000)的線程不使用兆字節的內存,而是有效地使用五個操作系統來處理託管線程的成本。
改爲使用System.Threading.Timer或System.Timers.Timer。回調/事件在一個線程池線程上運行,所以要注意你做了什麼,訪問共享變量時需要正確的鎖定。與普通線程相同的考慮因素。
+ 1提及適當的鎖定 – Codexer 2013-03-02 16:46:59
該代碼是否與UI的交互最少? – dbasnett 2013-03-02 16:19:57
不,它不.. – user1970090 2013-03-02 16:30:07