1. 程式人生 > 其它 >|NO.Z.00100|——————————|BigDataEnd|——|Java&多執行緒.V12|------------------------------------------------|Java.v12|守護執行緒|

|NO.Z.00100|——————————|BigDataEnd|——|Java&多執行緒.V12|------------------------------------------------|Java.v12|守護執行緒|



[BigDataJava:Java&多執行緒.V12]                                                                                 [BigDataJava.核心類庫] [|章節三|多執行緒|守護執行緒|]








一、守護執行緒
package com.yanqi.task18;

public class ThreadDaemonTest extends Thread {
    @Override
    public void run() {
        //System.out.println(isDaemon()? "該執行緒是守護執行緒": "該執行緒不是守護執行緒"); // 預設不是守護執行緒
        // 當子執行緒不是守護執行緒時,雖然主執行緒先結束了,但是子執行緒依然會繼續執行,直到列印完畢所有資料為止
        // 當子執行緒是守護執行緒時,當主執行緒結束後,則子執行緒隨之結束
        for (int i = 0; i < 50; i++) {
            System.out.println("子執行緒中:i = " + i);
        }
    }

    public static void main(String[] args) {

        ThreadDaemonTest tdt = new ThreadDaemonTest();
        // 必須線上程啟動之前設定子執行緒為守護執行緒
        tdt.setDaemon(true);
        tdt.start();

        for (int i = 0; i < 20; i++) {
            System.out.println("-------主執行緒中:i = " + i);
        }
    }
}
二、 編譯列印
D:\JAVA\jdk-11.0.2\bin\java.exe "-javaagent:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=50782:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath E:\NO.Z.10000——javaproject\NO.H.00001.javase\javase\out\production\javase com.yanqi.task18.ThreadDaemonTest
子執行緒中:i = 0
子執行緒中:i = 1
子執行緒中:i = 2
子執行緒中:i = 3
子執行緒中:i = 4
子執行緒中:i = 5
子執行緒中:i = 6
子執行緒中:i = 7
子執行緒中:i = 8
子執行緒中:i = 9
子執行緒中:i = 10
子執行緒中:i = 11
子執行緒中:i = 12
-------主執行緒中:i = 0
子執行緒中:i = 13
-------主執行緒中:i = 1
子執行緒中:i = 14
-------主執行緒中:i = 2
-------主執行緒中:i = 3
-------主執行緒中:i = 4
-------主執行緒中:i = 5
子執行緒中:i = 15
-------主執行緒中:i = 6
子執行緒中:i = 16
-------主執行緒中:i = 7
子執行緒中:i = 17
-------主執行緒中:i = 8
子執行緒中:i = 18
-------主執行緒中:i = 9
子執行緒中:i = 19
-------主執行緒中:i = 10
子執行緒中:i = 20
-------主執行緒中:i = 11
子執行緒中:i = 21
-------主執行緒中:i = 12
子執行緒中:i = 22
-------主執行緒中:i = 13
子執行緒中:i = 23
-------主執行緒中:i = 14
子執行緒中:i = 24
-------主執行緒中:i = 15
子執行緒中:i = 25
-------主執行緒中:i = 16
子執行緒中:i = 26
-------主執行緒中:i = 17
子執行緒中:i = 27
-------主執行緒中:i = 18
子執行緒中:i = 28
-------主執行緒中:i = 19
子執行緒中:i = 29
子執行緒中:i = 30
子執行緒中:i = 31
子執行緒中:i = 32
子執行緒中:i = 33
子執行緒中:i = 34
子執行緒中:i = 35
子執行緒中:i = 36
子執行緒中:i = 37
子執行緒中:i = 38
子執行緒中:i = 39
子執行緒中:i = 40
子執行緒中:i = 41
子執行緒中:i = 42
子執行緒中:i = 43
子執行緒中:i = 44
子執行緒中:i = 45
子執行緒中:i = 46
子執行緒中:i = 47
子執行緒中:i = 48
子執行緒中:i = 49

Process finished with exit code 0








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)