古詩詞大全網 - 四字成語 - (急!!!)VB中為什麽timer的interval=1時,不能代表(千分之壹秒)1毫秒

(急!!!)VB中為什麽timer的interval=1時,不能代表(千分之壹秒)1毫秒

分類: 電腦/網絡 >> 程序設計 >> 其他編程語言

問題描述:

大家可以做壹個程序試試:

建立2個Timer,2個Label

代碼如下:

Option Explicit

Dim a As Long

Dim b As Long

Private Sub Form_Load()

Timer1.Interval = 1

Timer2.Interval = 1000

End Sub

Private Sub Timer1_Timer()

a = a + 1

Label1.Caption = a

If a = 1000 Then Timer1.Enabled = False '當Timer1算到1000時結束

If a = 1000 Then Timer2.Enabled = False '察看當Timer1算到1000時是多少秒

End Sub

Private Sub Timer2_Timer()

b = b + 1

Label2.Caption = b

End Sub

如果interval=1000是1秒的話,interval=1應該是前分之壹秒(1毫秒),為什麽當timer1算到1000時,label2顯示的結果確是15呢?也就是說,用1/1000的速度數到1000,要花15秒的時間?~

解析:

系統不單單是妳的兩個timer在運行呀,很多進程都在排隊,各自的優先級是不壹樣的,所以timer不會在妳規定的interval內精確的獲得cup的使用權,所以妳提到的情況也是情理之中呀。如果妳有時間控制方面的精確需求,少用timer為妙