from threading import Thread
class methread(Thread):
def __init__(self, name: str):
super().__init__()
self.name=name
print(self.name)
print('初始化'+'\n')
def __enter__(self):
self.start()
print('inter'+'\n')
def __exit__(self, exc_type, exc_val, exc_tb):
self.close()
print('exit'+'\n')
def close(self):
print('close')
def run(self):
print('run'+'\n')
methread('线程')
with methread('线程2') as t:
print('使用with')
运行结果
不适用with,调用线程只进行了初始化
使用with,线程进行执行了整流程 start--run--exit