我需要运行一组无限循环,这些循环必须能够检查外部设置的条件以终止。我认为线程模块可以实现这一点,但我的尝试迄今为止失败了。以下是我正在尝试的示例:
import threading
class Looping(object):
def __init__(self):
self.isRunning = True
def runForever(self):
while self.isRunning == True:
"do stuff here"
l = Looping()
t = threading.Thread(target = l.runForever())
t.start()
l.isRunning = False
我本以为t.start会在一个单独的线程中运行,并且l的属性仍然可以被访问。但实际上不是这样的。我在python shell (IPython)中尝试了上面的片段。t start的执行立即开始并阻塞了任何进一步的输入。 显然,我对线程模块有所误解。 有没有关于如何解决这个问题的建议?