threading.event()
时间: 2024-10-18 20:06:06 浏览: 24
Python 多线程Threading初学教程
5星 · 资源好评率100%
在Python中,`threading.Event()` 是 `threading` 模块提供的一种同步原语,用于线程间的通信。它是一个事件对象,可以设置(set)和取消设置(clear)。当事件被设置(通常是某个条件满足),其他等待这个事件的线程会被唤醒并检查该事件是否已经触发。这种机制常用于控制线程的行为,比如启动、停止、等待等场景。
创建一个 Event 对象的基本语法如下:
```python
import threading
event = threading.Event()
```
你可以通过 `.is_set()` 来检查事件是否已设置,`.set()` 来设置事件,`.clear()` 来清除(重置)事件状态。例如,在一个循环中,你可以设置一个事件来暂停或继续循环:
```python
def my_function(event):
while not event.is_set():
# 执行任务
if some_condition:
event.set()
event = threading.Event()
# 开始任务
my_thread = threading.Thread(target=my_function, args=(event,))
my_thread.start()
# 等待一定时间后设置事件
time.sleep(5)
event.set()
```
阅读全文