【发布时间】:2015-07-07 10:19:03
【问题描述】:
我有一个带有 tkinter GUI (Python 2.7) 的程序,用户可以从中启动一些或多或少的计算密集型任务。大多数结果要么是写入磁盘的文件,要么是一个显示结果的交互式 pyplot 窗口,但它们都没有反馈到主任务中。
我以前从未做过多线程,我正在尝试决定使用哪个库。 subprocess 似乎是用于系统调用(这不是),multiprocessing 似乎与并行执行更大的任务(使用池和队列等)有关,而 threading ......我已经看过了官方文档,但有点不清楚我将如何使用它。
对我来说,理想的解决方案是“简单”地表达触发计算和绘制一些数据的函数调用,使其独立于主程序执行,这样用户就可以继续做他们的事情而无需等待函数完成(通常需要几秒钟到一分钟)——情节最终会弹出。
更新 结果我想并行启动的任务包含绑定方法,因此不可提取并且不能并行使用。在我有时间弄清楚如何改变它之前,我需要处理其他一些事情——不过,我会回到这个问题上!
【问题讨论】:
标签: python multithreading