マルチスレッドの守護スレッド
デーモンスレッドは、ユーザスレッドとガードスレッド に分かれている。仮想マシンは、ユーザスレッドの実行が完了したことを確認しなければならない。 仮想マシンは、ガードスレッドの実行完了を待つ必要はない。 例えば、バックグラウンドには操作日、監視メモリ、ゴミ回収待ちなどが記録されています。
以下はコードで守護スレッドをデモします。
締め括りをつける
最後に運行結果から、
以下はコードで守護スレッドをデモします。
package org.javaboy;
/**
* @Author: bai
* @DateTime: 2020/6/7 19:06
*/
//
public class TestDaemon {
public static void main(String[] args) {
God god = new God();
You you = new You();
Thread thread = new Thread(god);
thread.setDaemon(true); // false, ,
thread.start(); //
new Thread(you).start(); //
}
}
//
class God implements Runnable {
@Override
public void run() {
while (true) {
System.out.println(" !");
}
}
}
//
class You implements Runnable {
@Override
public void run() {
for (int i = 0; i < 36500; i++) {
System.out.println(" !");
}
System.out.println("=====goodbye,world!=====");
}
}
コードの説明:まずGod類を模擬するのは神で、神は守るスレッドとしてYouを見守っています。Youは楽しく生きて、自分のことをしています。主スレッドでは、thread.setDaemon(true)
法によりGodを守護スレッドとして使用し、この方法はデフォルトではfalseであり、ユーザスレッドであることを示し、通常のスレッドはすべてユーザスレッドである。締め括りをつける
最後に運行結果から、
ここの守護スレッドがGod類であることが分かります。