# -*- coding: UTF-8 -*-# # 5个线程同时完成 #解释:MainThread 主线程 、Thread线程 import threading,time def run(num): # 定义每个线程要运行的函数 print("task",num) time.sleep(2) print("task done",num,threading.current_thread()) start_time = time.time() t_objs = [] #存线程实例 for i in range(5): t = threading.Thread(target=run, args=('t-%s'%i,)) # 生成一个线程实例 t.start() # 启动线程 t_objs.append(t) # 为了不阻塞后面线程的启动,不在这里join,先放到一个列表里 print("主线程",threading.current_thread(),threading.active_count()) #打印可以看出为主线程, print("总线程",threading.active_count()) # 打印当前活动的线程数 print("time",time.time() - start_time) #从这里看出 #不加join的时候、主线程和子线程并行,没有依赖关系