我有一个应用程序(GUI:wxPython)。 当我点击树项目时,应用程序将执行某些操作。 但是在这段时间内,应用程序的其余部分将被阻止,直到任务完成。 没关系,因为执行在同一个过程中运行。
现在我在一个单独的进程中转移了执行(使用多处理模块) 我期望在任务执行期间不再阻止程序。 但它仍然受阻。 :(
def Click(self, event):
# ....
# collect some data and create
# mytask = [.....]
p = Process(target=taskexecution.run, args=(mytask,))
p.run()
答案 0 :(得分:2)
尝试使用p.start()
代替会发生什么。
答案 1 :(得分:0)
在WxPython中运行多个进程时,必须使用线程安全的方法。如何处理这一点在Mouse vs Python blog post中非常清楚和彻底地解释。