Thread 实例对象的方法:
getName(): 返回线程名
setName('XXX'): 设置线程名
is_alive(): 线程是否存活
threading 模块提供的一些方法:
threading.current_thread() : 返回当前线程的变量
threading. enumerate(): 返回一个包含正在运行的线程的 list. 不包括启动前和终止后的线程.
threading.active_count(): 返回正在运行的线程数量. 同 len(threading. enumerate())
验证:
- from threading import Thread
- from threading import current_thread
- from threading import active_count
- from threading import enumerate
- import time
- def work():
- print('%s 线程在运行' % current_thread().getName())
- time.sleep(3)
- print('%s 线程结束' % current_thread().getName())
- if __name__ == '__main__':
- t1 = Thread(target=work)
- t1.start()
- t1.setName('子线程 1')
- print('主线程中 t1.getName:%s' % t1.getName())
- print('主线程中的 getName(): %s' % current_thread().getName())
- print('主线程中 t1.is_alive()', t1.is_alive())
- print('主线程中 join 前的 active_count():', active_count())
- print('主线程中 join 前的 enumerate():', enumerate())
- t1.join()
- print('已经 join 了....')
- print('主线程中 t1.is_alive()', t1.is_alive())
- print('主线程中 join 后的 active_count():', active_count())
- print('主线程中 join 后的 enumerate():', enumerate())
运行结果:
Thread-1 线程在运行
主线程中 t1.getName: 子线程 1
主线程中的 getName(): MainThread
主线程中 t1.is_alive() True
主线程中 join 前的 active_count(): 2
主线程中 join 前的 enumerate(): [<_MainThread(MainThread, started 4321387392)>, <Thread(子线程 1, started 123145394180096)>]
子线程 1 线程结束
已经 join 了....
主线程中 t1.is_alive() False
主线程中 join 后的 active_count(): 1
主线程中 join 后的 enumerate(): [<_MainThread(MainThread, started 4321387392)>]
View Code
来源: http://www.bubuko.com/infodetail-2647108.html