在现代图形用户界面(GUI)应用程序中,可能会遇到需要长时间运行的任务,例如网络请求、数据处理或文件读取等。如果这些任务直接在主线程中运行,会导致GUI界面“卡顿”或“不响应”。为了保持界面流畅和响应用户操作,我们可以通过使用多线程来将这些任务移到后台运行。然而,由于Tkinter的GUI界面是单线程的,直接在多线程中操作Tkinter控件会导致错误。因此,本章将介绍如何在Tkinter中使用多线程,并确保线程与GUI之间的正确交互。
14.1 Python中的多线程基础
Python的threading
模块提供了创建和管理线程的基本功能。通过使用threading.Thread
,我们可以创建和启动新的线程。每个线程都是一个独立的执行流,可以执行不同的任务。
14.1.1 创建和启动线程
import threading
import time
def long_running_task