2011-02-02 4 views
4

デーモンスレッドはJVMによって使用され、制御されています。 JVMはそれらを作成し、それらの終了を調べます。ユーザースレッドはユーザーによって制御されます。 setDaemon()メソッドを呼び出すことによって、ユーザースレッドをデーモンスレッドに変換することもできます。ユーザスレッドの変換 - >デーモンスレッド

しかし、what is the use of such conversion? JVMは、ユーザースレッドがダメモンスレッドになったらそれを制御しますか?

私は何かを逃したかどうか教えてください。

ありがとうございました。

+0

sgokalesは、ユーザースレッドをデーモンスレッド(メモリなど)に変換する際に重要な点は何ですか? – sskumar86

答えて

7

ユーザスレッドとデーモンスレッドは、常にJVMの制御下にあると思います。

これらの2つのタイプのスレッドの の違いは単純です: Javaの場合

(?それが担当することでしょう場合、しなかった場合は)ここで(http://www.xyzws.com/javafaq/what-is-difference-between-user-and-daemon-thread-in-java/196から)区別ですランタイムはアプリケーション内で実行されているだけ スレッドが デーモンスレッドであると判断し(すなわち、存在には ユーザスレッドが存在しない)は、Java ランタイムは、速やかに効果的にTRで死んだすべての デーモンスレッドを停止し、 アプリケーションをダウンクローズうん。 アプリケーションを に実行させるには、少なくとも1つのライブユーザスレッドが常に である必要があります。すべて の点では、Javaランタイムは デーモンスレッドとユーザスレッドを に全く同じ方法で扱います。

+1

そうなら、それはなぜ「ユーザー」スレッドと言われていますか? –

7

デーモンスレッドは、アプリケーションがまだ作業中にシャットダウンすることを防止しません。彼らは、アプリが生きている間に行う必要があるタスクのために多くのものですが、そうでなければ殺すのは安全です。

関連する問題