1

编辑:

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


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

在此处输入图像描述

现在,问题在于 Python 处理主要功能的速度有点慢。所以我很快就用 Java 构建了原型,我的速度提高了大约 60%。因此,对于核心逻辑,我想将所有内容都移植到 Java。

然而,我已经在 Python 和 WX 的 Gui 中投入了大量的工作,所以我不想用 Java 重写这方面的内容。所以,我的问题是,我将如何组合这两个独立的系统?

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

希望这一切都说得通!

4

1 回答 1

0

我最初忘了添加,但真正的大要求是这需要作为 .exe 交付。

好吧,我认为这将在很大程度上排除 Java。虽然可以将一些 Java 程序转换为 .exe 文件,但在许多方面都存在问题......

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


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

于 2013-01-27T04:14:08.893 回答