📜  python wait - Python (1)

📅  最后修改于: 2023-12-03 14:46:06.235000             🧑  作者: Mango

Python Wait - 让程序等待的方式

在编写程序时,我们可能需要在特定的时间点等待一些事件发生,比如等待用户输入,等待文件读取完毕等等。Python提供了多种方式让程序等待,下面将会介绍其中几种常用的方式。

1. time.sleep()

time.sleep() 可以使程序暂停一段时间后再继续执行。其语法如下:

import time

time.sleep(seconds)

其中 seconds 参数表示要暂停的时间,可以是一个整数或者浮点数。

以下是一个示例:

import time

print("开始执行")
time.sleep(3)
print("3秒后")

执行上述代码后,程序会输出如下结果:

开始执行
(等待3秒)
3秒后
2. threading.Event()

threading.Event() 是 Python 内置的线程同步工具。它可以让一个线程等待另一个线程发出的信号。其语法如下:

import threading

event = threading.Event()
event.wait()

其中 event.wait() 会一直阻塞当前线程,直到其它线程调用 event.set() 方法发出信号。

以下是一个示例:

import threading

def func():
    print("线程开始执行")
    event.wait()
    print("线程被唤醒")

event = threading.Event()
t = threading.Thread(target=func)
t.start()

# 模拟耗时操作
time.sleep(3)

event.set()

执行上述代码后,程序会输出如下结果:

线程开始执行
(等待3秒)
线程被唤醒
3. asyncio.sleep()

在使用 Python 进行异步编程时,可以使用 asyncio.sleep() 让协程等待一段时间后再继续执行。其语法如下:

import asyncio

await asyncio.sleep(seconds)

await 关键字只能在协程中使用。

以下是一个示例:

import asyncio

async def func():
    print("协程开始执行")
    await asyncio.sleep(3)
    print("3秒后")

asyncio.run(func())

执行上述代码后,程序会输出如下结果:

协程开始执行
(等待3秒)
3秒后
总结

本文介绍了 Python 中三种常用的等待方式:time.sleep()threading.Event()asyncio.sleep()。对于不同的应用场景,可以选择不同的方式来让程序等待。

以上为时我所了解到的关于 Python Wait的一些常用方式,作为一名程序员,了解各种等待方式并尝试去编写出合适的代码,是非常有必要的,可以使代码更加的灵活和优化。