当前位置:  开发笔记 > 编程语言 > 正文

python中是否有任何内置的跨线程事件?

如何解决《python中是否有任何内置的跨线程事件?》经验,为你挑选了1个好方法。

python中是否有任何内置语法允许我将消息发布到我的问题中的特定python线程?就像在Windows中的pyQt或:: PostMessage()中的"排队连接信号"一样.我需要这个用于程序部分之间的异步通信:有许多线程处理网络事件,他们需要将这些事件发布到单个"逻辑"线程,该线程转换事件安全的单线程方式.



1> Chris AtLee..:

该队列模块是蟒蛇是非常适合你描述.

您可以设置一个在所有线程之间共享的队列.处理网络事件的线程可以使用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)

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有