[コンカレントプログラミング] ---のJavaデーモンスレッドプロフィール

送信元アドレス:https://github.com/nieandsun/concurrent-study.git

コンセプトデーモンスレッドに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はデーモンスレッドであります:

ここに画像を挿入説明
私たちは、上記のテストで見ることができます

  • メインスレッドが終了すると、デーモンスレッドは、最後に来る - 「非デーモンスレッドがありません
  • 最終的には、スレッドの保護者が行われないことがあります
209元記事公開 ウォンの賞賛249 ビューに46万+を

おすすめ

転載: blog.csdn.net/nrsc272420199/article/details/104738880