定時器和多執行緒

2021-08-07 01:14:43 字數 600 閱讀 6426

向原作者致敬!!!

1 軟體定時器 很多同學在工程中喜歡使用軟體定時器,因為其使用簡單,僅需設定乙個時長和其ontime事件即可使用。確實,軟體定時器在某些持續性不強的重複性工作中效率還是不錯的,但是也有著很大的缺點。

缺點1,速度:軟體定時器的精度比較低,這是由windows不實時的特性所決定的,在xp下,如果關閉所有能關閉的程序,mfc的軟體定時器可以達到接近15ms的精度,而在win2000下,其能達到接近10ms的精度。但是實際情況是,有些程序是不可以關閉的,比如說資料庫伺服器,所以mfc的軟體定時器能夠達到的精度一般情況下在40ms左右,bcb和delphi就更差一點,大概在55ms左右。queryperformancecounter倒是可以大幅提高精度,但是穩定性欠佳。

缺點2,效率:軟體定時器其本質實際上是在訊息迴圈中處理wm_timer訊息,而wm_timer訊息在訊息佇列中是乙個低階別的訊息,所以定時器並不能完全保證處理時間間隔的準確性。另外,timer占用的是主線程的資源,看似並行實際上是序列,所以窗體的訊息佇列一旦堵塞,就會造成系統假死或者執行緩慢,這對於ui來說幾乎是無法忍受的。

原因如下:

1、時間片不可控,搶cpu資源的事情~一般人說不清;

from:

多執行緒之 定時器

對於定時器,想必生活中用到的不少吧,比如我設定個定時炸彈,又比如我設定的鬧鐘,都是定時器的實現原理,那麼定時器在多執行緒中怎麼實現的吶,是通過這個類 timer 直接看 吧,public class traditionaltimetest 10000,1000 class mytimer exten...

多執行緒 C 定時器

1.多執行緒基本概念 程序 乙個程式執行時所占用的所有資源。乙個程序可由多個執行緒組成。執行緒 乙個程序中的執行單元,可以共享程序中的資源。多執行緒 乙個程式有多個執行緒執行執行各自的任務。多執行緒的優點 cpu利用率速率提公升了,當乙個執行緒阻塞時,程式不必等他就緒,可以先執行其他的執行緒。多執行...

執行緒定時器

定時器 timer類 schedule timertask物件,時間 定時排程 時間一到,他會執行timertask物件裡面的run方法。例項 10秒後該run方法執行 public class traditionaltimertest 1 0000 這個時間也可以設定成乙個具體時間,比如幾月幾號幾...