伺服器計時器與 Windows 計時器

2021-04-17 00:59:00 字數 963 閱讀 7263

說明:此文大部分內容摘自msdn,本人只是做了一點整理。如果有什麼異議,一切以msdn為準。一、引言 在 visual studio .net 中有兩種計時器控制項——基於伺服器的計時器和標準的基於 windows 的計時器。基於 windows 的計時器為在 windows 窗體應用程式中使用而進行了優化,基於伺服器的計時器是傳統的計時器為了在伺服器環境上執行而優化後的更新版本。 二、兩種不同的計時器有什麼區別呢? 在 win32 體系結構中有兩種型別的執行緒:ui 執行緒和輔助線程。ui 執行緒絕大多數時間處於空閒狀態,等待訊息迴圈中的訊息到來。一旦接收到訊息,它們就進行處理並等待下乙個訊息到來。另外,輔助線程用來執行後台處理而且不使用訊息迴圈。雖然 windows

計時器和基於伺服器的計時器執行時都使用 interval 屬性,但它們的設計用途是不同的(這一點可由它們對執行緒的處理方式來證明): windows

計時器是為單執行緒環境設計的,其中,ui 執行緒用於執行處理。 windows

計時器的精度限定為 55 毫秒。這些傳統計時器要求使用者**有乙個可用的 ui 訊息幫浦,而且總是在同乙個執行緒中操作,或者將呼叫封送到另乙個執行緒。對於 com 元件來說,這樣會降低效能。 基於伺服器的計時器是為在多執行緒環境下與輔助線程一起使用而設計的。由於它們使用不同的體系結構,因此基於伺服器的計時器可能比 windows

計時器精確得多。伺服器

計時器更精確地按時引發事件。有關基於伺服器的計時器的更多資訊,請參閱基於伺服器的計時器介紹。三、使用示例這裡給出了兩種計時器的示例,以便大家參考使用。1、伺服器

計時器使用示例//using system.timers; public class timer1 //這裡就是 elapsed 事件發生時所呼叫的方法: public static void ontimedevent(object source, elapsedeventargs e) }2、windows

計時器使用示例 windows

python計時器 python 計時器

import sysclassshowtime qwidget def init self super init self.istimestart false 標記時間是否開始計時 self.setwindowtitle qlable 顯示計時時間 self.lable time val qlabe...

python計時器單位 python計時器類

import time as t class mytimer def init self self.unit 年 月 日 時 分 秒 self.prompt 未開始計時 self.lasted self.start 0 self.stop 0 def str self return self.pro...

計時器控制項

計時器控制項可以每隔乙個時間間隔 interval 觸發乙個計時器事件 timer 所謂的時間間隔,指的是各個計時器事件之間的時間,一般以毫秒為基本單位。計時器在1秒中內最多產生18個事件,所以兩個事件之間的時間間隔精確到1 18秒。計時器控制項在執行時不可見。計時器控制項的常用屬性 enabled...