线程如何在python中相互通信?

时间:2012-02-13 20:13:58

标签: python multithreading

我正在编写两个Python程序:一个在图形上运行算法,另一个使用matplotlib绘制图形。如何使用Python将要从算法绘制的点发送到绘图程序?

2 个答案:

答案 0 :(得分:2)

使用Queue模块:

  

Queue模块实现多生产者,多消费者队列。它   当信息必须时,在线程编程中特别有用   在多个线程之间安全地交换这里的Queue类   module实现了所有必需的锁定语义。

我发现您的问题已标记为multithreading,但您的问题似乎是将其定义为多个流程。如果您有多个流程,请使用multiprocessing中的Queue,其中Queue.Queue是“muliprocessing.Pipe的近似克隆”。

如果您需要双向通信,请使用{{1}}。

答案 1 :(得分:0)

当我在wxPython窗口中使用matplotlib时,我做了类似的事情。我为此目的使用了pubsub和wx.CallAfter。有关示例,请参阅this link