python中是否有任何内置语法允许我将消息发布到我的问题中的特定python线程?就像在Windows中的pyQt或:: PostMessage()中的"排队连接信号"一样.我需要这个用于程序部分之间的异步通信:有许多线程处理网络事件,他们需要将这些事件发布到单个"逻辑"线程,该线程转换事件安全的单线程方式.
该队列模块是蟒蛇是非常适合你描述.
您可以设置一个在所有线程之间共享的队列.处理网络事件的线程可以使用queue.put将事件发布到队列中.逻辑线程将使用queue.get从队列中检索事件.
import Queue # maxsize of 0 means that we can put an unlimited number of events # on the queue q = Queue.Queue(maxsize=0) def network_thread(): while True: e = get_network_event() q.put(e) def logic_thread(): while True: # This will wait until there are events to process e = q.get() process_event(e)