Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python event

作者:寂寞味道   发布日期:2025-07-17   浏览:15

import threading

# 创建一个事件对象
event = threading.Event()

def wait_for_event():
    print("等待事件触发...")
    event.wait()  # 阻塞当前线程,直到事件被设置
    print("事件已触发,继续执行...")

def trigger_event():
    print("触发事件前")
    event.set()  # 设置事件,唤醒所有等待该事件的线程
    print("事件已触发")

# 创建两个线程,一个等待事件,另一个触发事件
thread1 = threading.Thread(target=wait_for_event)
thread2 = threading.Thread(target=trigger_event)

# 启动线程
thread1.start()
thread2.start()

# 等待两个线程完成
thread1.join()
thread2.join()

解释说明:

  1. 导入模块:我们使用 threading 模块中的 Event 类来创建事件对象。
  2. 创建事件对象event = threading.Event() 创建了一个事件对象,该对象可以用于线程间的同步。
  3. 等待事件event.wait() 会阻塞当前线程,直到事件被设置(即调用了 event.set())。
  4. 触发事件event.set() 会设置事件,唤醒所有等待该事件的线程。
  5. 线程启动与等待:我们创建了两个线程,一个负责等待事件,另一个负责触发事件。通过 start() 方法启动线程,并通过 join() 方法确保主线程等待子线程完成。

这个示例展示了如何使用 Python 的 threading.Event 来实现线程间的简单同步。

上一篇:python截取指定位置的字符串

下一篇:python tcp服务器

大家都在看

python时间格式

python开发windows应用程序

python ord和chr

python中的yield

python自定义异常

python判断路径是否存在

python list.pop

python的for i in range

npm config set python

python代码简单

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站