2017-05-22 2 views
0

で働いていない私はwhile-trueループを実行するスレッドを持っています。しかし、私は割り込みでブロックexceptを実行することができません。しかし、このtry/catchをメインスレッドに置くと、動作します。私は間違って何をしていますか?てみキャッチ子スレッド

答えて

1

キーボード割り込みは子スレッドによって受信されません。メインスレッドで例外をキャッチし、コールバックを実行することができます(たとえば、子スレッドを強制終了するなど)。 以下に例示するサンプルコードを示します:

import threading 
if __main__ == "__name__": 
    t1 = threading.Thread() 
    t2 = threading.Thread() 
    try: 
     t1.start() 
     t2.start() 
    except KeyboardInterrupt as e: 
     t1.join() 
     t2.join() 
+0

は 'kill()' Threadクラスのメソッドですか? – dopatraman

+0

おっと! 'join'とすると:) –

関連する問題