C# System.Threading.Timer如何停止


Threading.Timer 屬於100% 多線程
Timers.Timer 默認多線程,可設置為單線程
既然是多線程,不管通過回調 還是事件 執行任務,都是開啟的另一個線程;
你可以暫停或銷毀計時器(Timer)本身,但是不能操作里面新開線程的任務,這也是多線程設計的期望方式,因為你不知道 超線程里面到底執行到哪兒了。
但是,像我這種(刁民)有時候就喜歡那么橫,所以就把 新開的任務裝在一個 new Thread()里面,這樣就可以操作這個線程了,(到時只需要暴力abort() 終止這個線程就行)。

Threading.Timer
暫停: Change(-1,任意值);
啟動: Change(大於等於0,時間間隔);


Timers.Timer 暫停: Stop(); 啟動:Start();
再次提醒,這里暫停的意思是 計時器不在重新啟動,不是終止計時器的里面任務。

 

stateTimer.Change(-1, 任意值);就可以停止。
Threading.Timer 沒有Enabled屬性。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM