我需要运行一个(一系列)无限循环,该循环必须能够检查外部设置的条件以终止。我认为线程模块会允许这样做,但我迄今为止的努力都失败了。这是我正在尝试做的一个例子:
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 在实例化后立即开始执行,它会阻止任何进一步的输入。很明显,我对线程模块有些不理解。关于如何解决问题的任何建议?