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屬性。
