4

マルチスレッド プログラムがあり、signal.signal(SIGINT,func) を使用して、ctrl c が押されたときにすべてのスレッドを強制終了します。私が持っている質問はこれです:

Python の main から signal.signal(...) を呼び出す必要があります。ループでそれを呼び出す必要がありますか、それとも一度だけ設定できますか?ユーザーが ctrl c を押すたびに、シグナルがキャッチされますか?

4

1 に答える 1

2

メイントレッドのみが信号を処理できます。すべてのスレッドを「デーモン」スレッドにして (スレッドを開始する前にスレッド オブジェクトの.daemonプロパティをに設定True)、メイン スレッドが終了したときにスレッドが終了するようにします。

于 2010-09-22T02:27:12.347 に答える