0

wxPython アプリケーションに 3 つのスレッドがあります。アプリケーションは、次の 3 つの方法でハングします。

これの一般的な原因は何か知っていますか?

4

1 に答える 1

1

何が起こっているのか正確にはわかりませんが、GUI との通信に wxPython のスレッドセーフな方法を使用していないのではないかと思います。それらは wx.CallAfter、wx.CallLater、および wx.PostEvent です。GUI に直接アクセスしないでください。

これらが実際に別のスレッドにある場合、GUI がハングすることはありません。私は自分のブログのスレッドで time.sleep() を実行したので、そうではないことがわかっています。

http://www.blog.pythonlibrary.org/2010/05/22/wxpython-and-threads/

これを理解するには、小さな実行可能なサンプル アプリが必要になるでしょう: http://wiki.wxpython.org/MakingSampleApps

于 2012-07-13T13:28:14.817 に答える