記事のディレクトリ
コンセプトデーモンスレッドに1はじめに
デーモン(デーモン)スレッドがスレッドサポートの一種である、それは主に、バックエンド・スケジューリングと支援作業プログラムとして使用されます。非デーモンスレッドは、Java仮想マシン、Java仮想マシンの終了に存在しない場合。
Thread.setDaemonを呼び出すことによって、(真)デーモンスレッドにスレッド。私たちは、一般的に、ガベージコレクションのスレッドなどがデーモンスレッドで、アクセス権を持っていません。
2デーモンスレッドのサンプル・コードとNotes
- テストコード:
package com.nrsc.ch1.base;
/**
* 类说明:守护线程的使用
*/
public class DaemonThread {
private static class UseThread extends Thread {
@Override
public void run() {
try {
while (!isInterrupted()) {
System.out.println(Thread.currentThread().getName()
+ " I am extends Thread.");
}
System.out.println(Thread.currentThread().getName()
+ " interrupt flag is " + isInterrupted());
} finally {
//守护线程中finally不一定起作用
System.out.println(" .............finally");
}
}
}
public static void main(String[] args) throws InterruptedException {
UseThread useThread = new UseThread();
useThread.setDaemon(true);
useThread.start();
Thread.sleep(1);
//useThread.interrupt();
}
}
- ときuseThreadが非デーモンスレッド
- useThreadはデーモンスレッドであります:
私たちは、上記のテストで見ることができます
- メインスレッドが終了すると、デーモンスレッドは、最後に来る - 「非デーモンスレッドがありません
- 最終的には、スレッドの保護者が行われないことがあります