为了账号安全,请及时绑定邮箱和手机立即绑定

请教一个python3 tkinter 多线程问题

请教一个python3 tkinter 多线程问题

qq_笑_17 2019-02-22 07:26:36
for i in range(len(answers)): submitdata = answers[i] self.threading_run(submitdata)   def threading_run(self,submitdata):  requests.post .... 有没有办法用单线程,去模拟1. 去操作,现在我用的是tkinter,主线程就会卡主界面,能不能用线程,只有第一个线程运行完毕后,才去执行第二个线程 我把他改为了 for i in range(len(answers)): submitdata = answers[i] #self.threading_run(submitdata) #单线程 T = threading.Thread(target=self.threading_run, args=(submitdata,)) #多线程 T.start() T.join() 又发现界面卡死了 ... 咋办啊...
查看完整描述

2 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

你不能使用t.join(),这样跟同步执行没什么区别

查看完整回答
反对 回复 2019-03-01
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

python3有gil锁,多线程是假的,cpu每个时间只会执行一个线程,所以你的主界面卡死了。考虑换成协程或者多进程才可以实现异步

查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 1655 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号