python:等待多个对象(队列、锁、条件等)

python:等待多个对象(队列、锁、条件等),python,concurrency,Python,Concurrency,我正在使用Python库。工作正常(当然要服从全局解释器锁) 现在我有一个条件。我有两个独立的并发源:要么两个s,要么一个队列和一个我如何等待第一个准备就绪的对象?(它们必须是单独的对象,因为它们属于我的应用程序的不同模块部分。) Windows具有该功能;Python并发原语也有类似的功能吗?据我所知,您所问的函数还没有。然而,有一个threading.enumagabile(),我认为它可能会返回一个所有当前守护进程线程的列表,无论其来源如何。一旦你有了这个列表,你就可以遍历它,寻找你想要的

我正在使用Python库。工作正常(当然要服从全局解释器锁)

现在我有一个条件。我有两个独立的并发源:要么两个s,要么一个队列和一个我如何等待第一个准备就绪的对象?(它们必须是单独的对象,因为它们属于我的应用程序的不同模块部分。)


Windows具有该功能;Python并发原语也有类似的功能吗?

据我所知,您所问的函数还没有。然而,有一个threading.enumagabile(),我认为它可能会返回一个所有当前守护进程线程的列表,无论其来源如何。一旦你有了这个列表,你就可以遍历它,寻找你想要的条件。要将线程设置为守护进程,每个线程都有一个方法,可以在线程启动之前像thread.setDaemon(True)一样调用该方法


我不能肯定这是你的答案。我没有你那么多的经验,但我在我的一本书中查到了这一点,Doug Hellmann的《Python标准库示例》。他在线程和枚举seamed一节中有23页关于管理并发操作的内容,这将有所帮助。

您可以创建一个新的同步对象(队列、条件等)。我们将其称为ready_事件,并为每个要监视的同步对象创建一个线程。每个线程都等待其同步对象就绪,当线程的同步对象就绪时,线程通过ready_事件向其发送信号。创建并启动线程后,可以等待ready_事件