是否可以从Python生成Java代码,并在两个进程之间进行通信?

时间:2013-01-27 03:57:38

标签: java python

编辑:

我最初忘了添加,但真正的大要求是这需要作为.exe提供。我现在正在使用PyInstaller将所有内容压缩成可执行文件,但是当你开始涉及多种编程语言时,我不知道所有内容是如何组合在一起的。


我有一个小gui,我用Python和wxWidgets编写。该程序的真正核心是CPU和网络密集型,我使用多处理模块在新进程中生成。这样gui保持响应,第二个进程可以在自己的内存/处理器空间中自由运行。最后,我使用一个Multiprocess.Queue的线程来处理gui,它自己和进程之间的通信。

enter image description here

现在,问题在于Python只是一种缓慢处理主要功能的手段。所以我很快用Java编写了原型,我的速度提高了60%。因此,对于核心逻辑,我想将所有内容移植到Java。

但是,我已经使用Python和WX在Gui中加入了 ton 的工作,所以我不想在Java中重写那个方面。所以,我的问题是,我将如何组合这两个独立的系统?

通信的范围在很大程度上是发出启动和停止命令。其余的是微小的更新,反馈给gui只是为了让用户知道它目前正在做什么。

希望一切都有意义!

1 个答案:

答案 0 :(得分:0)

  

我最初忘了添加,但真正的要求是这需要以.exe形式提供。

嗯,我认为这几乎排除了Java。虽然可以将一些Java程序转换为.exe文件,但在许多方面都存在问题......

我认为你最好用C或C ++来编写需要真正快速的东西。您可以将其作为单独的可执行文件,或者(为了更好的性能)您可以使用其中一个本机库机制进行访问;见http://wiki.python.org/moin/IntegratingPythonWithOtherLanguages


如果你真正试图在这里解决的问题是GUI响应,你应该能够使用python线程做同样的事情......用更少的编码工作。