python實(shí)現(xiàn)微秒級(jí)等待問題(windows)
python實(shí)現(xiàn)微秒級(jí)等待
windows限制
python 的 time.sleep()方法,在windows操作系統(tǒng)下,最低只能實(shí)現(xiàn)到0.001秒,即最少等待1毫秒。
時(shí)間單位
- 秒(second),時(shí)間單位 : s,
- 毫秒(millisecond),時(shí)間單位:ms
- 微秒(microsecond),時(shí)間單位:μs
時(shí)間換算:
- 1s【秒】 = 1000ms【毫秒】
- 1ms【毫秒】 = 1000μs【微秒】
- 1μs【微秒】 = 1000ns【納秒】
- 1ns 【納秒】= 1000ps【皮秒】
如何實(shí)現(xiàn)微秒μs級(jí)等待?
可使用time.perf_counter()方法來實(shí)現(xiàn)。
代碼如下:
import time def microsecond_sleep(sleep_time): """微秒等待 :param sleep_time: int, 微秒 :return: """ end_time = time.perf_counter() + (sleep_time - 0.8) / 1e6 # 0.8是時(shí)間補(bǔ)償,需要根據(jù)自己PC的性能去實(shí)測(cè) while time.perf_counter() < end_time: pass start = time.perf_counter() microsecond_sleep(10) # 等待10微秒 end = time.perf_counter() print(start) print(end) print("等待時(shí)間:", (end-start) * 1e6, "微秒")
運(yùn)行結(jié)果如下:
1040204.7426661
1040204.742676
等待時(shí)間: 9.899958968162537 微秒
多次測(cè)試,實(shí)際消耗時(shí)間在9.89-10.30微秒之間。
python編程,毫秒級(jí)延時(shí)的一種實(shí)現(xiàn)
linux適用
import time # 導(dǎo)入time模塊 def delayMicrosecond(t): # 微秒級(jí)延時(shí)函數(shù) start,end=0,0 # 聲明變量 start=time.time() # 記錄開始時(shí)間 t=(t-3)/1000000 # 將輸入t的單位轉(zhuǎn)換為秒,-3是時(shí)間補(bǔ)償 while end-start<t: # 循環(huán)至?xí)r間差值大于或等于設(shè)定值時(shí) end=time.time() # 記錄結(jié)束時(shí)間 a=time.time() # 記錄延時(shí)函數(shù)開始執(zhí)行時(shí)的時(shí)間 delayMicrosecond(10) #延時(shí) 35 微秒 b=time.time() # 記錄延時(shí)函數(shù)結(jié)束時(shí)的時(shí)間 print((b)) print((a)) print((b-a)*1000000)
windows適用
import time # 導(dǎo)入time模塊 def procedure(): time.sleep(2.5) # measure process time t0 = time.process_time() procedure() print (time.process_time() - t0, "seconds process time") # measure wall time t0 = time.time() procedure() print (time.time() - t0, "seconds wall time")
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python 進(jìn)程之間共享數(shù)據(jù)(全局變量)的方法
今天小編就為大家分享一篇Python 進(jìn)程之間共享數(shù)據(jù)(全局變量)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07使用Python爬取最好大學(xué)網(wǎng)大學(xué)排名
這篇文章主要介紹了如何使用Python爬取最好大學(xué)網(wǎng)大學(xué)排名,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02Python實(shí)現(xiàn)去除代碼前行號(hào)的方法
這篇文章主要介紹了Python實(shí)現(xiàn)去除代碼前行號(hào)的方法,實(shí)例分析了Python操作字符的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03Python繪圖系統(tǒng)之自定義一個(gè)坐標(biāo)設(shè)置控件
這篇文章主要為大家詳細(xì)介紹了Python如何編寫一個(gè)繪圖系統(tǒng),可以實(shí)現(xiàn)自定義一個(gè)坐標(biāo)設(shè)置控件,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-08-08基于Python實(shí)現(xiàn)簡單的人臉識(shí)別系統(tǒng)
這篇文章主要介紹了如何通過Python實(shí)現(xiàn)一個(gè)簡單的人臉識(shí)別系統(tǒng),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,感興趣的可以跟隨小編一起試一試2022-01-01