亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Python

精通 Python time.sleep():最佳实践、多线程与实战案例

Python time.sleep() 详解

time.sleep() 将当前线程暂停指定秒数。

Python 的 time 模块提供一系列时间处理工具。其中,time.sleep() 是添加刻意延迟、同步线程或限流操作的关键函数。

示例 1:基本用法

import time
print("立即打印。")
time.sleep(2.4)
print("2.4 秒后打印。")

此简单脚本演示 time.sleep() 接受浮点数参数。Python 3.5 及以上版本保证最小睡眠时长;早期版本可能睡眠略长。

示例 2:数字时钟

import time
while True:
    local = time.localtime()
    print(time.strftime("%I:%M:%S %p", local))
    time.sleep(1)

循环每秒打印一次当前本地时间。为避免终端刷屏,改进版在同一行更新:

import time
while True:
    local = time.localtime()
    print(time.strftime("%I:%M:%S %p", local), end="", flush=True)
    print("\r", end="", flush=True)
    time.sleep(1)

更多细节请参阅 Python 官方 time.sleep() 文档。

理解线程

进程是正在执行的程序;线程是进程内的轻量级单元。多线程可并发运行,共享同一内存空间。

示例 3:简单多线程

import threading

def greet_hello():
    for _ in range(3):
        print("Hello")

def greet_hi():
    for _ in range(3):
        print("Hi")

t1 = threading.Thread(target=greet_hello)
t2 = threading.Thread(target=greet_hi)
t1.start()
t2.start()

由于 t1 和 t2 并发执行,每次运行的输出顺序可能不同。

多线程环境中的 time.sleep()

在单线程程序中,time.sleep() 会阻塞整个进程。在多线程环境下,仅调用线程被暂停,其他线程继续运行。

示例 4:差异化暂停线程

import threading, time

def say_hello():
    for _ in range(4):
        time.sleep(0.5)
        print("Hello")

def say_hi():
    for _ in range(4):
        time.sleep(0.7)
        print("Hi")

t1 = threading.Thread(target=say_hello)
t2 = threading.Thread(target=say_hi)
t1.start()
t2.start()

此处一个线程睡眠 0.5 秒,另一个睡眠 0.7 秒,展示独立节奏。

更多线程内容请参阅 Python threading 模块文档。

Python

  1. 精通Python数据类型:实战指南
  2. 精通Python运算符:全面指南
  3. 精通Python Pass语句:实战指南
  4. 精通Python函数参数:位置、关键字与默认参数
  5. 精通 Python 字典:创建、操作与进阶技巧
  6. 精通 Python 迭代器:工作原理与自定义构建
  7. Python 闭包详解:嵌套函数如何捕获变量
  8. 精通 Python datetime:日期、时间与时区实战指南
  9. Python 获取当前日期和时间:实用指南
  10. Python 轻松获取当前时间与时区数据
  11. 精通 Python time 模块:函数、结构体与实战示例
  12. Python timeit():精准测量代码执行时间与实战示例