Python多线程简介

什么是Python多线程

Python多线程是指在一个程序中同时执行多个线程,每个线程都可以执行独立的任务。多线程可以让程序在执行阻塞操作(如I/O操作)时不会阻塞整个程序的执行,从而提高程序的效率。

简单示例

在Python中,可以使用threading模块来创建和管理多线程。以下是一个简单的多线程程序的示例:

import threading

def worker():
    """线程的工作函数"""
    print("Starting worker")
    # 这里可以执行一些耗时的操作
    print("Exiting worker")

# 创建线程
t = threading.Thread(target=worker)
# 启动线程
t.start()
# 等待线程执行完毕
t.join()
print("All done")

在这个程序中,定义了一个工作函数worker,该函数会在一个单独的线程中执行。然后使用threading.Thread来创建一个线程,并将工作函数作为参数传递给它。再然后使用start方法启动线程,并使用join方法等待线程执行完毕。最后,打印一条完成的消息。

注意

在Python中,多线程并不一定能提高程序的执行效率。这是因为,在Python中,由于全局解释器锁(GIL)的存在,同一时刻只能有一个线程执行Python代码。因此,如果程序主要是执行CPU密集型操作,多线程并不能提高效率,甚至可能会降低效率。但是,如果程序主要是执行I/O操作或其他非CPU密集型操作,多线程可以提高效率。