欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中time.sleep(0.001)是否真的只等待1毫秒

 更新時間:2024年06月24日 08:58:51   作者:babybin  
這篇文章主要介紹了Python中time.sleep(0.001)是否真的只等待1毫秒,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

time.sleep(0.001)真的只等待1毫秒?

在windows上,進(jìn)行簡單的編程驗證上述問題。

import time

while True:
    st = time.time()
    time.sleep(0.001)
    et = time.time()
    print('dt={dt}'.format(dt=et - st))

返回結(jié)果

dt=0.001966238021850586
dt=0.001010894775390625
dt=0.0020058155059814453
dt=0.0010018348693847656
dt=0.001966238021850586
dt=0.0020215511322021484
dt=0.0019714832305908203
dt=0.0010178089141845703
dt=0.0019807815551757812
dt=0.0010159015655517578
dt=0.001965761184692383

  • 大部分時長都在2ms左右。
  • 而且即便將0.001改至更小,仍是2ms,這與操作系統(tǒng)有關(guān),具體機制未做深入研究。
  • 如果需要精確定時需要注意這個問題。

下面的代碼用在接收線程中

  • 當(dāng)連續(xù)1秒鐘沒有數(shù)據(jù)是會拋出警告
  • 由于需要響應(yīng)外部stop或者pause操作
  • 所以sleep的時間片段都不能太長
        no_frame_time = 0
        while True:
            if self._stop:
                logger.info(f"xxxx stop.")
                break

            if self._pause:
                time.sleep(0.01)
                continue

            if len(self.msg_deque) == 0:
                st = time.time()
                time.sleep(0.001)
                # no_frame_time += 0.001 # 這寫法由于sleep不準(zhǔn)確,導(dǎo)致最早no_frame_time與實際值誤差特別大
                et = time.time() - st
                no_frame_time += et  # 此處是累積時間
                if no_frame_time > 1:
                    logging.warning("xxxx not arrived in last second.")
                    self.fps_signal.emit(0)
                    no_frame_time = 0
                continue
            else:
                no_frame_time = 0
            
            # ... 省略任務(wù)主體

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 中秋陰天看不見月亮只好用python寫賞月工具

    中秋陰天看不見月亮只好用python寫賞月工具

    女神約我去賞月!我一看中秋節(jié)可能會下雨,立馬用Python寫了款賞月工具!本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考價值,需要的朋友可以參考下
    2021-09-09
  • python執(zhí)行子進(jìn)程實現(xiàn)進(jìn)程間通信的方法

    python執(zhí)行子進(jìn)程實現(xiàn)進(jìn)程間通信的方法

    這篇文章主要介紹了python執(zhí)行子進(jìn)程實現(xiàn)進(jìn)程間通信的方法,涉及Python使用subprocess模塊操作進(jìn)程的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • Python數(shù)據(jù)結(jié)構(gòu)之樹的全面解讀

    Python數(shù)據(jù)結(jié)構(gòu)之樹的全面解讀

    數(shù)據(jù)結(jié)構(gòu)中有很多樹的結(jié)構(gòu),其中包括二叉樹、二叉搜索樹、2-3樹、紅黑樹等等。本文中對數(shù)據(jù)結(jié)構(gòu)中常見的樹邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)進(jìn)行了匯總,不求嚴(yán)格精準(zhǔn),但求簡單易懂
    2021-11-11
  • 在Python中使用代理IP的方法詳解

    在Python中使用代理IP的方法詳解

    在網(wǎng)絡(luò)爬蟲開發(fā)中,使用代理IP是非常常見的技巧,Python作為一門強大的編程語言,也提供了很多方法來使用代理IP,下面,我將就如何在Python中使用代理IP進(jìn)行詳細(xì)的闡述,并舉例說明,需要的朋友可以參考下
    2023-07-07
  • Python使用tarfile模塊實現(xiàn)免費壓縮解壓

    Python使用tarfile模塊實現(xiàn)免費壓縮解壓

    Python自帶的tarfile模塊可以方便讀取tar歸檔文件,厲害的是可以處理使用gzip和bz2壓縮歸檔文件tar.gz和tar.bz2,這篇文章主要介紹了Python使用tarfile模塊實現(xiàn)免費壓縮解壓,需要的朋友可以參考下
    2024-03-03
  • wxPython電子表格功能wx.grid實例教程

    wxPython電子表格功能wx.grid實例教程

    這篇文章主要介紹了wxPython電子表格功能wx.grid實例教程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Python3創(chuàng)建Django項目的幾種方法(3種)

    Python3創(chuàng)建Django項目的幾種方法(3種)

    這篇文章主要介紹了Python3創(chuàng)建Django項目的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 10種檢測Python程序運行時間、CPU和內(nèi)存占用的方法

    10種檢測Python程序運行時間、CPU和內(nèi)存占用的方法

    這篇文章主要介紹了10種檢測Python程序運行時間、CPU和內(nèi)存占用的方法,包括利用Python裝飾器或是外部的Unix Shell命令等,需要的朋友可以參考下
    2015-04-04
  • python中使用xlrd讀excel使用xlwt寫excel的實例代碼

    python中使用xlrd讀excel使用xlwt寫excel的實例代碼

    這篇文章主要介紹了python中使用xlrd讀excel使用xlwt寫excel的實例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-01-01
  • python解析HTML并提取span標(biāo)簽中的文本

    python解析HTML并提取span標(biāo)簽中的文本

    在網(wǎng)頁開發(fā)和數(shù)據(jù)抓取過程中,我們經(jīng)常需要從HTML頁面中提取信息,尤其是span元素中的文本,span標(biāo)簽是一個行內(nèi)元素,通常用于包裝一小段文本或其他元素,在Python中,我們可以通過使用BeautifulSoup或lxml等庫來解析HTML并提取span標(biāo)簽中的文本
    2024-12-12

最新評論