1 #该程序使用命令行执行,IDE执行会有其他线程附加 2 import threading 3 import time 4 5 #初始化一个线程 6 #t=threading.Thread(target=func) #func为函数名 7 #创建启动线程 8 #t.start() 9 #获取当前进程的所有线程 10 #threading.enumerate() 11 #当前线程个数 12 #len(threading.enumerate()) 13 14 def test1(): 15 for i in range(5): 16 print('-----test1-----%d-----'%i) 17 time.sleep(1) 18 19 def test2(): 20 for i in range(5): 21 print('-----test2-----%d-----'%i) 22 time.sleep(1) 23 24 def main(): 25 #如果创建Thread时执行的函数运行结束,那么意味着这个子线程结束 26 t1=threading.Thread(target=test1,args=()) #用args这个元组传递函数参数 27 t2=threading.Thread(target=test2,args=()) 28 t1.start() #线程1 29 t2.start() #线程2 30 while True: 31 print(threading.enumerate(),len(threading.enumerate())) 32 if len(threading.enumerate())<=1: 33 break 34 time.sleep(1) 35 36 if __name__=='__main__': 37 #线程的运行没有固定顺序 38 #主线程结束,程序结束 39 main() 40 41 42