私は主な呼び出しのバックグラウンドスレッドを持っています、バックグラウンドスレッドはさまざまなスクリプトを開くことができますが、時々このような無限の印刷ループを取得します。 thing.py
輸入fooの(意図的な)無限ループを残すスレッドを取得しますか?
def main():
thr = Thread(target=background)
thr.start()
thread_list.append(thr)
def background():
getattr(foo, 'bar')()
return
で
そしてfoo.py
def bar():
while True:
print("stuff")
にこれは、行うことになっているものですが、私は私がする必要がある場合はそれを殺すことができるようにしたいです。バックグラウンドスレッドとそれが呼び出すすべての関数を削除する方法はありますか?私はbackground
にフラグを置いて、フラグがハイになったときに戻るようにしましたが、bar
が返るのを待ってから、background
は決してフラグをチェックすることができません。
編集:私はそれを編集して躊躇してるので、foo.pyは、理想的には、私はすべてのその大丈夫
[Pythonでループスレッドを停止するにはどうすればいいですか?](https://stackoverflow.com/questions/18018033/how-to-stop-a-looping-thread-in-python) – harandk