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

本文介绍了一个简单的线程管理类实现,通过继承 threading.Thread 并重写 __init__、__enter__、__exit__ 和 run 方法,实现了线程的初始化、启动、执行和关闭流程。使用 with 语句可以确保线程按预期执行整个生命周期。
623

被折叠的 条评论
为什么被折叠?



