次のクラスを想像してください。
Class Object(threading.Thread):
# some initialisation blabla
def run(self):
while True:
# do something
sleep(1)
class Checker():
def check_if_thread_is_alive(self):
o = Object()
o.start()
while True:
if not o.is_alive():
o.start()
スレッドが死んでいる場合に備えて、スレッドを再起動したい。これはうまくいきません。スレッドは一度しか開始できないためです。最初の質問。どうしてこれなの?
私が知る限り、各インスタンスを再作成しObject
、呼び出しstart()
てスレッドを再度開始する必要があります。複雑なObject
s の場合、これはあまり実用的ではありません。古い の現在の値を読み取り、Object
新しいオブジェクトを作成し、新しいオブジェクトのパラメータを古い値で設定する必要があります。2 番目の質問: これをよりスマートで簡単な方法で行うことはできますか?