程序执行结果:
线程还未启动时,判断t1是否是活动的线程: False 线程已启动时,判断t1是否是活动的线程: True 修改前的线程名为: Thread-1 修改后的线程名为: t1 foo func: 3 线程执行完成时,判断t1是不否是活动的线程: False ending cost time: 3.001171588897705****1.3.4 threading模块提供的一些方法****
threading.currentThread() #返回当前的线程变量 threading.enumerate() #返回一个包含正在运行的线程的列表,不包括启动前和终止后的线程 threading.activeCount() #返回正在运行的线程数量,等同于len(threading.enumerate()) import threading import time def foo(n): time.sleep(n) print("foo func:", n) def bar(n): time.sleep(n) print("bar func:", n) s1 = time.time() t1 = threading.Thread(target=foo, args=(3,)) t1.setDaemon(True) t1.start() t2 = threading.Thread(target=bar, args=(5,)) t2.setDaemon(True) t2.start() print("程序中正在运行的线程数量:",threading.activeCount()) print("程序中当前的线程变量:",threading.currentThread()) print("当前正在运行的线程的列表:",threading.enumerate()) print("ending") s2 = time.time() print("cost time:", s2 - s1)程序执行结果:
程序中正在运行的线程数量: 3 程序中当前的线程变量: <_MainThread(MainThread, started 7064)> 当前正在运行的线程的列表: [<_MainThread(MainThread, started 7064)>, <Thread(Thread-1, started daemon 6384)>, <Thread(Thread-2, started daemon 2640)>] ending cost time: 0.002000093460083008