C 多執行緒(四) Timer的使用

2021-09-30 06:40:34 字數 675 閱讀 3584

1.timer

類的作用是設定乙個定時器,定時執行使用者指定的函式,而這個函式的傳遞是靠另外乙個**物件

timercallback

,它必須在建立

timer

物件時就指定,並且不能更改。定時器啟動後,系統將自動建立乙個新的執行緒,並且在這個執行緒裡執行使用者指定的函式。

2.timer timer = new timer(timerdelegate, s,1000, 1000);

第乙個引數指定了

timercallback

**物件;第二個引數的意義跟上面提到的

waitcallback

**物件的一樣,作為乙個傳遞資料的物件傳遞給要呼叫的方法;第三個引數是延遲時間

——計時開始的時刻距現在的時間,單位是毫秒;第四個引數是定時器的時間間隔

——計時開始以後,每隔這麼長的一段時間,

timercallback

所代表的方法將被呼叫一次,單位也是毫秒。這句話的意思就是將定時器的延遲時間和時間間隔都設為

1秒鐘。

3.定時器的設定是可以改變的,只要呼叫

timer.change()

方法,這是乙個引數型別過載的方法,一般使用的原型如下:

public bool change(long, long);

c 多執行緒(四)

執行緒間通訊 主線程建立子執行緒必定會為主執行緒分擔一部分工作,這樣不可避免的會在這兩個執行緒之間存在訊息傳遞渠道,因此主線程和子執行緒之間要進行通訊。下面介紹幾種通訊方式 全域性變數 由於同一程序的各個執行緒之間共享該程序的資源,因此,解決執行緒間通訊最簡單的方式是使用全域性變數。對於標準型別的全...

多執行緒程式設計 8 Timer

net有很多的計時器 這個timer屬於作業系統內部實現,最輕量級,以委託方式實現.這種物件要記得呼叫dispose方法釋放 private static void threadingtimer static void timeaction object o datetime.now 以.net元件...

十三 java多執行緒之Timer

github 同步工具都講的差不多了,今天我們換一下口味.講一下定時任務timer吧.細心的人會發現帶引數period的schedule和scheduleatfixedrate的解釋是一樣,但是他們有什麼區別 如果週期是30s,任務執行時間是8s,那麼兩者的執行效果是一樣的 但是如果任務執行時間大於...