Call Sleep(1)延迟最小的单位是多少啊?
有没有比sleep(1)小的?

解决方案 »

  1.   

    sleep(0)啊,去看msdn上sleep函数说明。
      

  2.   

    那你就自己做个吧,用几个api读取cpu时钟等实现,能到微妙级,sleep是毫秒级的!Private Declare Function GetTickCount Lib "kernel32" () As Long
    Private Declare Function QueryPerformanceCounter Lib "kernel32" (lpPerformanceCount As Currency) As Long
    Private Declare Function QueryPerformanceFrequency Lib "kernel32" (lpFrequency As Currency) As LongPublic Enum DELAY_UNIT
        us = 1000000
        ms = 1000
        s = 1
    End EnumPublic Sub Delay(curTime As Currency, udtUnit As DELAY_UNIT)
        Dim Ctr1 As Currency, Ctr2 As Currency, Ctr3 As Currency, Freq As Currency
        QueryPerformanceFrequency Freq  '获取cpu的频率
        QueryPerformanceCounter Ctr1    '获取cpu走过的周期
        Do
            QueryPerformanceCounter Ctr2  '获取cpu走过的周期
            Ctr3 = (Ctr2 - Ctr1) * udtUnit / Freq
            If Ctr3 > curTime Then 
                Exit Do
            End If
        Loop
    End Sub