如何设计多线程GUI网络应用程序?

时间:2009-03-31 13:18:44

标签: python multithreading user-interface

我正在使用Python开发一个小型实用程序。

网络将发送和接收消息。 GUI将显示来自GUI的消息,并提供用户输入以输入要发送的消息。 我称之为 storage 部分,它将获取所有网络消息并将其保存在某种数据库中,以便稍后提供某种搜索。

我的问题是,最好的设计方法是什么?当然,所有这些都必须在不同的线程中发生,但我想知道的是如何以最佳方式在它们之间传递信息?我应该使用Python中可用的哪种信号传递/线程锁定来避免可能出现的问题?

2 个答案:

答案 0 :(得分:2)

这个问题的一个可能是最好的解决方案是使用Twisted。它支持所有GUI工具包。

答案 1 :(得分:1)

我认为您可以使用Queue在GUI和网络线程之间传递消息。

对于一般的GUI和线程,您可能会发现PyGTK and Threading文章很有趣。