Python 多线程学习笔记

基础概念

多线程是指在同一进程中同时运行多个线程,每个线程都可以完成不同的任务。相比于单线程,多线程可以充分利用多核CPU的优势,提高程序的执行效率。

Python的多线程模块是threading,线程执行函数是thread(target=func, args=(), kwargs={}),其中target参数是函数名,argskwargs分别是函数的位置参数和关键字参数。

实例

下面是一个简单的多线程示例代码:

pythonCopy Code
import threading import time def worker(name): print("Thread {} is running...".format(name)) time.sleep(1) print("Thread {} is done!".format(name)) if __name__ == "__main__": threads = [] for i in range(5): t = threading.Thread(target=worker, args=(i,)) threads.append(t) t.start() for t in threads: t.join() print("All threads are done!")

以上代码定义了一个worker函数,模拟了一个线程的工作过程:打印工作开始信息,等待1秒钟,然后打印工作完成信息。

主程序中创建了5个线程,并添加到线程列表threads中,然后启动所有线程并等待所有线程完成。

输出结果如下:

Copy Code
Thread 0 is running... Thread 1 is running... Thread 2 is running... Thread 3 is running... Thread 4 is running... Thread 0 is done! Thread 1 is done! Thread 2 is done! Thread 3 is done! Thread 4 is done! All threads are done!

以上示例代码展示了如何利用threading模块创建多线程和管理线程的基本方法。在实际应用中,还需要注意线程的同步和互斥问题,以避免线程间的竞争和死锁等问题。