我正在开发一个用于处理计算机模拟的Python 项目,并且我也在为它开发一个 GUI。(核心逻辑本身不需要 GUI。)我使用的 GUI 工具包是 wxPython,但我认为我的问题足够笼统,不依赖于它。
GUI 当前的工作方式是在与 GUIgarlicsim
相同的进程和线程上启动核心逻辑包(称为 )。这行得通,但我知道这是一个有问题的方法,因为如果核心逻辑需要进行一些硬计算,GUI 会挂起,我认为这是不可接受的。
我应该怎么办?
我听说了在与 GUI 不同的进程上启动核心逻辑的选项。这听起来很有趣,但我对此有很多疑问。
- 我是使用
multiprocessing
包还是subprocess
包来启动新流程? - 如何从 GUI 过程轻松访问模拟数据?毕竟,它将被存储在另一个进程中。用户应该能够轻松流畅地浏览模拟的时间线。如何才能做到这一点?