gpt4 book ai didi

Python线程未启动

转载 作者:行者123 更新时间:2023-11-30 23:01:10 24 4
gpt4 key购买 nike

我正在尝试创建具有可以在后台执行某些操作的功能的类。我用谷歌搜索并查看了所有示例,我仍然很困惑为什么我的后台线程一直在运行,它永远不会停止......我想要的是我的后台线程启动,3 秒后我的主线程应该更改变量值并且后台线程应该停止。这是我的类(class)的简化示例:

from threading import Thread
import time

class ThreadingExample(object):

def __init__(self):
self._stop = False
self._thread = Thread(target=self.run())
self._thread.daemon = True
self._thread.start()

def run(self):
while self._stop == False:
print("doing something")
time.sleep(1)

def stop_run(self):
print("stop doing!")
self._stop = True

example = ThreadingExample()
time.sleep(3)
example.stop_run()
print('Bye')

最佳答案

self._thread = Thread(target=self.run)

你必须传递目标(函数对象)并且不执行它,因为执行是主线程中的无限循环,并且你永远不会回到有机会调用stop_run来停止执行。

关于Python线程未启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34996585/

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