叮当over 2021-12-27 00:18 采纳率: 91.7%
浏览 919
已结题

关于mainloop方法阻塞线程的解决方案

我最近在了解python线程这方面,最近我发现mainloop()方法似乎会阻塞掉其他线程,导致其他线程无法使用,只要关闭掉Gui界面之后其他线程就能正常运行了,也就是让mainloop()方法执行完毕后才能运行其他线程,请问这个问题该如何解决呢?这个问题困扰我很久了,希望大家可以帮帮我,求求了ಥ_ಥ

下方为源码:
import threading
import time
from tkinter import *

def xc_1():
ct=Tk()
ct.title("Demo")
pmk=ct.winfo_screenwidth()
pmg=ct.winfo_screenheight()
ctk=400
ctg=400
ctx=(pmk-ctk)//2
cty=(pmg-ctg)//2
ct.geometry("%ax%a+%a+%a"%(ctk,ctg,ctx,cty))
ct.resizable(0,0)
ct.mainloop()

def run():
time.sleep(1)
print('2s')
time.sleep(1)
print('1s')
time.sleep(1)
print('0s')
time.sleep(1)

t1 = threading.Thread(target=run)
t2 = threading.Thread(target=xc_1())
t1.start()
t2.start()

  • 写回答

1条回答 默认 最新

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月28日
  • 已采纳回答 12月27日
  • 创建了问题 12月27日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效