学习Python多线程的资料很多,吐槽Python多线程的博客也不少。本文主要介绍Python多线程实际应用,且假设读者已经了解多线程的基本概念。如果读者对进程线程概念不甚了解,可参见知名博主 阮一峰 转译的一篇博客:《进程与线程的一个简单解释》。
1 线程的基本操作Python中多线程主要有两个模块,_thread和threading模块。前者更底层,后者更常用,能满足绝大部分编程需求,今天主要围绕threading模块展开介绍。启动一个线程需要用threading模块中的Thread。
线程的启动需要先创建Thread对象,然后调用该对象的start()方法,参见下例:
import time import threading def func(n): while n > 0: print("线程name:", threading.current_thread().name, "参数n:", n) n -= 1 time.sleep(1) t = threading.Thread(target=func, args=(5,)) t.start() print("主线程:", threading.current_thread().name) # 运行结果: # 线程name: Thread-1 参数n: 5 # 主线程: MainThread # 线程name: Thread-1 参数n: 4 # 线程name: Thread-1 参数n: 3 # 线程name: Thread-1 参数n: 2 # 线程name: Thread-1 参数n: 1