python多线程
# 线程,进程 # 线程:是执行单位 # 进程:资源单位,一个进程至少有一个线程 from threading import Thread def func(): for i in range(1000): print("子线程",i) if __name__ == "__main__": t = Thread(target=func) # 创建线程,安排任务 t.start() # 开启线程状态 具体执行时间 由CPU分配 for i in range(1000): print("主线程",i)
线程传参:
# 线程传参 from threading import Thread def func(args): for i in range(1000): print(args,i) if __name__ == "__main__": t1 = Thread(target=func,args=("线程1",)) # 线程传递的参数,必须是一个元组 t1.start() # 开启线程状态 具体执行时间 由CPU分配 t2 = Thread(target=func,args=("线程2",)) # 线程传递的参数,必须是一个元组 t2.start() # 开启线程状态 具体执行时间 由CPU分配 for i in range(1000): print("主线程",i)
线程池:
from concurrent.futures import ThreadPoolExecutor def func(name): for i in range(1000): print(name,i) if __name__ == "__main__": # 创建线程池 开50个线程 with ThreadPoolExecutor(50) as t: for i in range(100): # 投递100个任务 t.submit(func,name=f"线程{i}") # 线程池任务全部结束 才执行下面代码 print("OK")