我最初忘了添加,但真正的大要求是这需要作为.exe提供。我现在正在使用PyInstaller将所有内容压缩成可执行文件,但是当你开始涉及多种编程语言时,我不知道所有内容是如何组合在一起的。
我有一个小gui,我用Python和wxWidgets编写。该程序的真正核心是CPU和网络密集型,我使用多处理模块在新进程中生成。这样gui保持响应,第二个进程可以在自己的内存/处理器空间中自由运行。最后,我使用一个Multiprocess.Queue
的线程来处理gui,它自己和进程之间的通信。
现在,问题在于Python只是一种缓慢处理主要功能的手段。所以我很快用Java编写了原型,我的速度提高了60%。因此,对于核心逻辑,我想将所有内容移植到Java。
但是,我已经使用Python和WX在Gui中加入了 ton 的工作,所以我不想在Java中重写那个方面。所以,我的问题是,我将如何组合这两个独立的系统?
通信的范围在很大程度上是发出启动和停止命令。其余的是微小的更新,反馈给gui只是为了让用户知道它目前正在做什么。
希望一切都有意义!
答案 0 :(得分:0)
我最初忘了添加,但真正的要求是这需要以.exe形式提供。
嗯,我认为这几乎排除了Java。虽然可以将一些Java程序转换为.exe文件,但在许多方面都存在问题......
我认为你最好用C或C ++来编写需要真正快速的东西。您可以将其作为单独的可执行文件,或者(为了更好的性能)您可以使用其中一个本机库机制进行访问;见http://wiki.python.org/moin/IntegratingPythonWithOtherLanguages
如果你真正试图在这里解决的问题是GUI响应,你应该能够使用python线程做同样的事情......用更少的编码工作。