所以这是我的问题——
我正在使用 wx python 创建一个 python GUI 应用程序。单击进程按钮后,会在幕后进行一些文件创建/编码。最初,这在 GUI 工作时冻结了所有内容,因此我决定在单独的线程上进行文件创建/编码——这就是问题所在,只要创建线程的方法完成——(相对较快)这是实际创建线程的代码:
for audiobook in AudioBookObjects:
thread.start_new(self.createSingleBook, tuple([audiobook]))
所以这是奇怪的部分——在我使用此代码的一台机器上,让一个线程运行,完成并返回而不会冻结 gui。在另一台机器上,它非常快地发射了两个线程,当它们终止时它们崩溃了!有什么东西会改变操作系统之间线程的行为吗?我正在使用相同版本的python。我对此非常肯定。
基本上,我需要知道两件事:在创建它们的方法结束后 python 线程会发生什么,以及如果触发器方法必须坚持让线程优雅地结束,我如何构建一个不会冻结的 GUI!?
提前致谢!如果您需要更多信息,请告诉我