冻结不允许识别模式的线程

时间:2012-07-26 18:59:41

标签: python wxpython python-imaging-library

我有一个使用wxPython和一些其他线程的Python应用程序。一个主题使用PIL.Image.open。在某些情况下,应用程序冻结,以便您看到不完整的GUI。我发现它挂在PIL.Image.open。当我将调试print放入PIL模块时,我可以看到它有一次挂在这里,有一次在那里...... - 我无法理解。这似乎完全不相关。

在Python中,线程可以做什么,导致其他线程停在实际无问题的行,如import string?或者wxPython是否能够发挥这种影响力?

1 个答案:

答案 0 :(得分:3)

长时间运行的任务将冻结GUI,如wxPython或Tkinter。将长时间运行的进程放入线程通常会解决问题。我猜你在你的线程中做了一些事情,它以非线程安全的方式与wxPython通信。如果你使用wx.CallAfter,wx.CallLater或wx.PostEvent与线程中的wxPython进行通信,那就是问题所在。你必须使用其中一种方法。

否则我们需要一个小的可运行示例来诊断问题。