日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java Daemon线程

發(fā)布時間:2025/7/14 java 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java Daemon线程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 所謂守護線程就是運行在程序后臺的線程,程序的主線程Main(比方java程序一開始啟動時創(chuàng)建的那個線程)不會是守護線程?
2.Daemon thread在Java里面的定義是,如果虛擬機中只有Daemon thread在運行,則虛擬機退出。?
?虛擬機中可能會同時有很多個線程在運行,只有當所有的非守護線程都結束的時候,虛擬機的進程才會結束,不管在運行的線程是不是main()線程。 3.Main主線程結束了(Non-daemon thread),如果此時正在運行的其他threads是daemonthreads,JVM會使得這個threads停止,JVM也停下
??如果此時正在運行的其他threads有Non-daemonthreads,那么必須等所有的Non daemon線程結束了,JVM才會停下來 4.總之,必須等所有的Non-daemon線程都運行結束了,只剩下daemon的時候,JVM才會停下來,注意Main主程序是Non-daemon 線程
默認產生的線程全部是Non-daemon線程。
5.JVM的資源回收線程就是這類線程。
6.在該類線程中產生的其他線程不用設置,默認都是守護線程。
Thread.setDaemon()用法使用:

1. setDaemon需要在start方法調用之前使用

2. 線程劃分為用戶線程和后臺(daemon)進程,setDaemon將線程設置為后臺進程

3. 如果jvm中都是后臺進程,當前jvm將exit。(隨之而來的,所有的一切煙消云散,包括后臺線程啦)

4. 主線程結束后,

??????1)用戶線程將會繼續(xù)運行

?????2) 如果沒有用戶線程,都是后臺進程的話,那么jvm結束

另外:

setDaemon方法把java的線程設置為守護線程,此方法的調用必須在線程啟動之前執(zhí)行。只有在當前jvm中所有的線程都為守護線程時,jvm才會退出。
如果創(chuàng)建的線程沒有顯示調用此方法,這默認為用戶線程。

實例如下:

1 import java.io.IOException; 2 3 public class DaemonThreadTest extends Thread{ 4 5 publicDaemonThreadTest() { 6 } 7 8 public voidrun(){ 9 for(int i = 1; i <= 100;i++){ 10 try{ 11 Thread.sleep(100); 12 13 } catch (InterruptedException ex){ 14 ex.printStackTrace(); 15 } 16 System.out.println(i); 17 } 18 } 19 publicstatic void main(String [] args){ 20 DaemonThreadTest test = newDaemonThreadTest(); 21 // 如果不設置daemon,那么線程將輸出100后才結束 22 test.setDaemon(true); //在test未結束前,執(zhí)行下面的輸入操作,則test終止執(zhí)行,因為jvm中只剩下守護線程時會終止 23 test.start(); 24 System.out.println("isDaemon = " +test.isDaemon()); 25 try { 26 System.in.read(); //接受輸入,使程序在此停頓,一旦接收到用戶輸入,main線程結束,守護線程自動結束 27 } catch (IOException ex) { 28 ex.printStackTrace(); 29 } 30 System.out.print(Thread.currentThread().getName()+"結束"); 31 } 32 }

?

轉載于:https://www.cnblogs.com/WayneZeng/archive/2013/05/04/3059052.html

總結

以上是生活随笔為你收集整理的Java Daemon线程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。