python实现微秒级等待问题(windows)

 更新时间:2024年06月24日 09:08:04   作者:霸蛮哥  
这篇文章主要介绍了python实现微秒级等待问题(windows),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python实现微秒级等待

windows限制

python 的 time.sleep()方法,在windows操作系统下,最低只能实现到0.001秒,即最少等待1毫秒。

时间单位

  • 秒(second),时间单位 : s, 
  • 毫秒(millisecond),时间单位:ms 
  • 微秒(microsecond),时间单位:μs

时间换算:

  • 1s【秒】 = 1000ms【毫秒】
  • 1ms【毫秒】 = 1000μs【微秒】
  • 1μs【微秒】 = 1000ns【纳秒】
  • 1ns 【纳秒】= 1000ps【皮秒】

如何实现微秒μs级等待?

可使用time.perf_counter()方法来实现。

代码如下:

import time


def microsecond_sleep(sleep_time):
    """微秒等待

    :param sleep_time: int, 微秒
    :return:
    """

    end_time = time.perf_counter() + (sleep_time - 0.8) / 1e6  # 0.8是时间补偿,需要根据自己PC的性能去实测
    while time.perf_counter() < end_time:
        pass


start = time.perf_counter()
microsecond_sleep(10)  # 等待10微秒
end = time.perf_counter()
print(start)
print(end)
print("等待时间:", (end-start) * 1e6, "微秒")

运行结果如下:

1040204.7426661
1040204.742676
等待时间: 9.899958968162537 微秒

多次测试,实际消耗时间在9.89-10.30微秒之间。

python编程,毫秒级延时的一种实现

linux适用

import time    # 导入time模块
 
def delayMicrosecond(t):    # 微秒级延时函数
    start,end=0,0           # 声明变量
    start=time.time()       # 记录开始时间
    t=(t-3)/1000000     # 将输入t的单位转换为秒,-3是时间补偿
    while end-start<t:  # 循环至时间差值大于或等于设定值时
        end=time.time()     # 记录结束时间

a=time.time()   # 记录延时函数开始执行时的时间
delayMicrosecond(10)	#延时 35 微秒
b=time.time()   # 记录延时函数结束时的时间
print((b))
print((a))

print((b-a)*1000000)

windows适用

import time    # 导入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")

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python+OpenCV实现图片中的圆形检测

    Python+OpenCV实现图片中的圆形检测

    这篇文章主要介绍了如何利用Python+OpenCV实现检测图片中的圆形,文中的示例代码讲解详细,感兴趣的小伙伴快跟随小编一起学习一下
    2022-04-04
  • Pandas中DataFrame的常用用法分享

    Pandas中DataFrame的常用用法分享

    Pandas是Python中最流行的数据分析和处理工具之一,它提供了一个名为DataFrame的数据结构,可以被认为是一个二维表格或电子表格。本文主要来和大家分享一下Pandas中DataFrame的常用用法,希望对大家有所帮助
    2023-04-04
  • 对dataframe数据之间求补集的实例详解

    对dataframe数据之间求补集的实例详解

    今天小编就为大家分享一篇对dataframe数据之间求补集的实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • 解决Python 使用h5py加载文件,看不到keys()的问题

    解决Python 使用h5py加载文件,看不到keys()的问题

    今天小编就为大家分享一篇解决Python 使用h5py加载文件,看不到keys()的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • Python基础语法(Python基础知识点)

    Python基础语法(Python基础知识点)

    这篇文章主要介绍了Python基础语法(Python基础知识点),需要的朋友可以参考下
    2016-02-02
  • 分析python请求数据

    分析python请求数据

    这篇文章我们给大家整理了关于python请求数据的相关知识点内容,有兴趣和需要的朋友们可以学习下。
    2018-08-08
  • Windows下多版本Python共享Poetry测试安装

    Windows下多版本Python共享Poetry测试安装

    这篇文章主要为大家介绍了Windows下多版本Python共享Poetry的测试安装配置,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解

    Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解

    这篇文章主要介绍了Windows+Anaconda3+PyTorch+PyCharm的安装教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • python机器学习实战之树回归详解

    python机器学习实战之树回归详解

    这篇文章主要为大家详细介绍了python机器学习实战之树回归的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • 使用Python轻松实现一个简单的图床功能

    使用Python轻松实现一个简单的图床功能

    在网上分享图片或将图片嵌入到网页中时,通常需要一个图床来存储和管理这些图片,所以本文就来为大家介绍一下如何使用Python轻松实现一个简单的图床功能吧
    2024-01-01

最新评论