Python 多线程学习笔记
基础概念
多线程是指在同一进程中同时运行多个线程,每个线程都可以完成不同的任务。相比于单线程,多线程可以充分利用多核CPU的优势,提高程序的执行效率。
Python的多线程模块是threading
,线程执行函数是thread(target=func, args=(), kwargs={})
,其中target
参数是函数名,args
和kwargs
分别是函数的位置参数和关键字参数。
实例
下面是一个简单的多线程示例代码:
pythonCopy Codeimport 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 CodeThread 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
模块创建多线程和管理线程的基本方法。在实际应用中,还需要注意线程的同步和互斥问题,以避免线程间的竞争和死锁等问题。