色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java用戶線程和守護線程

錢艷冰1年前7瀏覽0評論

Java線程分為用戶線程和守護線程,二者的區別在于程序結束時的處理方式不同。用戶線程是在程序中由開發者創建的線程,而守護線程是由JVM內部創建的線程。

在程序運行結束時,如果所有的用戶線程都已經結束,JVM就會結束程序。而如果還有守護線程在運行,JVM會等待所有守護線程結束后再結束程序。

舉個例子,比如在Web服務器中,守護線程負責監聽用戶請求,如果用戶線程處理完請求后沒有關閉,那么守護線程會主動關閉它。

public class DaemonDemo {
public static void main(String[] args) {
Thread userThread = new Thread(() ->{
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("用戶線程執行完畢");
});
Thread daemonThread = new Thread(() ->{
while (true) {
System.out.println("守護線程正在運行");
}
});
daemonThread.setDaemon(true);
userThread.start();
daemonThread.start();
System.out.println("主線程執行完畢");
}
}

上面的代碼演示了如何創建用戶線程和守護線程,并設置守護線程。可以看出,在程序運行到最后,主線程已經結束,但是守護線程還在運行。