pythonスレッドをデーモンとして設定するとどのような違いがありますか

StackOverflow https://stackoverflow.com/questions/1411860

  •  05-07-2019
  •  | 
  •  

質問

thread.setDaemon(True)を使用してPythonスレッドをデーモンとして設定すると、どのような違いがありますか?

役に立ちましたか?

解決

デーモンスレッドは、アプリケーションの終了を妨げません。プログラムは、すべての非デーモンスレッド(メインスレッドを含む)が完了すると終了します。

一般的に、バックグラウンドで何かをしている場合、スレッドをデーモンとして設定すると、アプリを終了する前にそのスレッドの関数を明示的に返す必要がなくなります。

たとえば、GUIアプリケーションを作成しているときにユーザーがメインウィンドウを閉じると、プログラムは終了します。しかし、デーモン以外のスレッドがぶらぶらしている場合は、そうではありません。

ドキュメントから: http://docs.python.org/ library / threading.html#threading.Thread.daemon

  

その初期値はから継承されます   作成スレッド。メインスレッド   デーモンスレッドではないため、   メインスレッドで作成されたすべてのスレッド   デフォルトはdaemon = Falseです。

     

Pythonプログラム全体は、次の場合に終了します   デーモン以外の生きているスレッドは残っていません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top