gpt4 book ai didi

python-3.x - 在python3中停止线程

转载 作者:行者123 更新时间:2023-12-04 07:42:58 25 4
gpt4 key购买 nike

我怎样才能更好地编写以下类(class)?例如,有没有一种很好的方法来滑动两个标志 is_alive 和 is_finished?

Monitor(threading.Thread):
def run(self):
resource = Resource("com1")

self.alive = True
self.is_finished = False
try:
while self.alive:
pass # use resource
finally:
resource.close()
self.is_finished = True

def stop(self):
self.alive = False
while not self.is_finished:
time.sleep(0.1)

最佳答案

差不多就是这样。但是,您不需要 is_finished ,因为您可以使用 join()方法:

Monitor(threading.Thread):
def run(self):
resource = Resource("com1")

self.alive = True
try:
while self.alive:
pass # use resource
finally:
resource.close()

def stop(self):
self.alive = False
self.join()

如果您确实需要查找某个线程是否正在运行,您可以调用 mythread.is_alive() - 你不需要自己设置。

关于python-3.x - 在python3中停止线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7806339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com