作者:嗯呢 | 来源:互联网 | 2023-05-19 04:52
Thread对象的其它属性或方法
介绍:
Thread实例对象的方法
# isAlive():返回线程是否活动的
# getName():返回线程名
# setNmae():设置线程名
threading模块提供的一些方法:
# threading.currentThread(): 返回当前的线程变量
# threading.enumerate(): 返回一个包含正在运行的线程的list。正在运行指线程启动后、结束前,不包括启动前和终止后的线程。
# threading.activeCount(): 返回正在运行的线程数量,与len(threading.enumerate())有相同结果
验证
from threading import Thread
import threading
from multiprocessing import Process
import os
import time
def work():
time.sleep(3)
print(threading.current_thread().getName())
if __name__ == ‘__main__‘:
# 在主进程下开启线程
t = Thread(target=work)
t.start()
print(threading.current_thread().getName())
print(threading.current_thread()) # 主线程
print(threading.enumerate()) # 连同主线程在内有两个运行的线程
print(threading.active_count())
print(‘主线程/主进程‘)
执行结果
MainThread
<_MainThread(MainThread, started 140037784917824)>
[<_MainThread(MainThread, started 140037784917824)>, ]
2
主线程/主进程
Thread-1
主线程等待子线程结束
import time
def sayhi(name):
time.sleep(2)
print(‘%s say hello‘ % name)
if __name__ == ‘__main__‘:
t = Thread(target=sayhi, args=(‘mike‘, ))
t.start()
t.join()
print(‘主线程‘)
print(t.is_alive())
执行结果
Python并发编程:多线程-Thread对象的其它属性和方法