ソリューションのpython最後に、メインスレッドの子スレッドが停止することはできません

最初の例を置きます:

import time
import threading


def thread_test():
    while True:
        time.sleep(1)
        print('Hello!')


threading.Thread(target=thread_test).start()
time.sleep(3)
print('End.')

印刷:

Hello!
Hello!
End.
Hello!
Hello!
Hello!

メインスレッドは、(印刷を超える場合でもEnd.)、まだ作成された子スレッドは印刷を続けHello!、我々は(メインスレッドのリソースはなど、エラーにつながる使用を避けるためのリソースを集中的に、回避)メインスレッドの終了時に、すぐ近くに子スレッドに必要な場合は情報を、缶使用して提供される方法を。ThreadsetDaemon

setDaemonこのスレッドを設定すると、デーモンスレッドがあることで、パラメータは、スレッドがデーモンスレッドとして設定されている場合は、デフォルトでは、すべてのデーモンスレッドを閉じた後に、メインスレッドがすぐに閉じているかどうか、あなたは問題を解決することができ、ブール値です。

次のように上記のコードは変更されます。

t = threading.Thread(target=thread_test)
t.setDaemon(True)
t.start()
time.sleep(3)
print('End.')

印刷:

Hello!
Hello!
End.
リリース元の4件の記事 ウォンの賞賛0 ビュー13

おすすめ

転載: blog.csdn.net/m0_46396257/article/details/104650463