首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

wxpython 界面启动时需大量运算,界面假死,怎么处理

2012-03-13 
wxpython 界面启动时需大量运算,界面假死,怎么办将运算放在一个函数里用thread.start_new_thread(self.Ini

wxpython 界面启动时需大量运算,界面假死,怎么办
将运算放在一个函数里
用thread.start_new_thread(self.Init,())
这样反而更糟,好像发生死锁一样 界面无休止假死下去

如果顺序执行self.Init(),只看到进度条(我将运算放在dll中,在dll中发送主窗口进度条消息),有些地方是白的

我的self.Init()是放在在主窗口的__init__() 中,self.Show(True)之后

感觉是主窗口尚未显示完 运算就开始了,结果导致界面瘫痪


[解决办法]
用线程是对的,你应该把精力放在解决资源保护上。
[解决办法]
肯定需要多线程,lz不妨把代码贴出来看看
[解决办法]
那应该是计算量太大了

每计算一段时间让计算线程sleep一下,看看会不会好一些
[解决办法]
我记得在demo中有个例子是callafter的,我做过,不是加载dll,也比较耗时3-4分钟(多线程).但没有lz那么夸张的要假死.
这个demo就是先生成图形再加载内容100X17个textctrl,同时我也在编辑textctrl的内容,比较卡而已。所以等加载完毕就流畅了.
[解决办法]
可能会误解,demo是先生成图形再加载内容.
我做的是加载100x17个的内容填充.

热点排行