尽管进行了多处理,程序仍然被阻止

时间:2011-10-19 11:38:02

标签: python multiprocessing

我有一个应用程序(GUI:wxPython)。 当我点击树项目时,应用程序将执行某些操作。 但是在这段时间内,应用程序的其余部分将被阻止,直到任务完成。 没关系,因为执行在同一个过程中运行。

现在我在一个单独的进程中转移了执行(使用多处理模块) 我期望在任务执行期间不再阻止程序。 但它仍然受阻。 :(

def Click(self, event):
# ....
# collect some data and create 
# mytask = [.....]
 p = Process(target=taskexecution.run, args=(mytask,))
 p.run()

2 个答案:

答案 0 :(得分:2)

尝试使用p.start()代替会发生什么。

答案 1 :(得分:0)

在WxPython中运行多个进程时,必须使用线程安全的方法。如何处理这一点在Mouse vs Python blog post中非常清楚和彻底地解释。