主线程与子线程之间的通信问题 50
…………动作:点击了某按钮之后.............................forfileinlsit_file:#调用python命令执行脚本ifcasei...
…………动作:点击了某按钮之后.............................
for file in lsit_file:
#调用python命令执行脚本
if case in file:
#创建新线程去执行命令(不然主平台会卡爆!!!)
t1 = threading.Thread(target=os.system,args=('python %s'%file,))
t1.setDaemon(False)
t1.start()
while t1.isAlive():
pass
现象:我的主线程,也就是程序本身是一个UI界面,在执行到上面代码的while语句的时候,会卡起!
需求:for循环读取需要执行系统命令的文件列表,对每一个文件,开辟新线程去执行命令,如果此文件执行完毕,返回给主界面执行状态,继续执行下一个文件;并且,在等待某文件执行完的过程中,要求主界面可操作(比如我可以点击停止,来停止所有线程)。
请教大神,如何优化? 不胜感激。 展开
for file in lsit_file:
#调用python命令执行脚本
if case in file:
#创建新线程去执行命令(不然主平台会卡爆!!!)
t1 = threading.Thread(target=os.system,args=('python %s'%file,))
t1.setDaemon(False)
t1.start()
while t1.isAlive():
pass
现象:我的主线程,也就是程序本身是一个UI界面,在执行到上面代码的while语句的时候,会卡起!
需求:for循环读取需要执行系统命令的文件列表,对每一个文件,开辟新线程去执行命令,如果此文件执行完毕,返回给主界面执行状态,继续执行下一个文件;并且,在等待某文件执行完的过程中,要求主界面可操作(比如我可以点击停止,来停止所有线程)。
请教大神,如何优化? 不胜感激。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询