最近用Timer踩了乙個坑,分享一下避免別人繼續踩

2021-06-27 04:38:47 字數 441 閱讀 7988

最近做乙個小專案,專案中有乙個定時服務,需要向對方定時傳送資料,時間間隔是1.5s,然後就想到了用c#的timer類,我們知道timer

確實非常好用,因為裡面有非常人性化的start和stop功能,在timer裡面還有乙個interval,就是用來設定時間間隔,然後時間間隔到了就會觸

發elapsed事件,我們只需要把callback函式註冊到這個事件就可以了,如果interval到了就會觸發elapsed,貌似一切看起來很順其自然,但是

有一點一定要注意,callback函式本身執行也是需要時間的,也許這個時間是1s,2s或者更長時間,而timer類卻不管這些,它只顧1.5s觸發一下

elapsed,這就導致了我的callback可能還沒有執行完,下乙個callback又開始執行了,也就導致了沒有達到我預期的1.5s的效果,並且還出現了

乙個非常嚴重的問題,那就是執行緒激增,非常恐怖。

最近用Timer踩了乙個坑,分享一下避免別人繼續踩

最近做乙個小專案,專案中有乙個定時服務,需要向對方定時傳送資料,時間間隔是1.5s,然後就想到了用c 的timer類,我們知道timer 確實非常好用,因為裡面有非常人性化的start和stop功能,在timer裡面還有乙個interval,就是用來設定時間間隔,然後時間間隔到了就會觸 發elaps...

最近踩的乙個小坑

最近需要實現乙個業務,大致的內容是為了提高效率,把資料庫中的資訊定時同步到記憶體中,然後使用記憶體查詢,提高效率。然後在實現過程中遇到了乙個問題,需要同步的資訊約9萬條,但是這9w條資料對應了133w個,大概乙個id十幾張吧。儲存這些的時候,遇到了小問題。專案原本使用的結構是 list vin1,1...

踩了乙個基礎 知識的坑

今在開發乙個迴圈增加select 的時候,出現了v model繫結到相同物件,當乙個select改變其他也會隨之改變的問題 頁面操作,1 選擇其中乙個select 2 當選擇後發現上下兩個select 也隨之選中為了同樣的值 think think why 修改某乙個select 其他兩個也會同著更...