我正试图围绕这个秘籍中发生的事情展开思考,因为我正计划实现一个与此类似的 wx/twisted 应用程序(即 wx 和 twisted 在单独的线程中运行)。我知道twisted 和wx 事件循环都需要以线程安全的方式访问(即reactor.callFromThread、wx.PostEvent 等)。我要质疑的是,将在一个线程中实例化的对象的实例方法(在本配方的情况下为 GUI 线程)作为在单独线程中运行的反应器的延迟 callBack 和 errBack 方法传入的线程安全性。这是一个好主意吗?
twisted 中有一个 wxreactor 可用,但谷歌搜索显示,自从它被引入库以来,它已经出现了许多问题。即使是最初提出 wxreactor 技术的人,也主张在单独的线程中运行 wx 和扭曲。
我还没有找到这种技术的任何其他例子,但我很想看到一些。