JAVA Thread.setDaemon用法


1.Thread.setDaemon(boolean on):設置為守護線程或者用戶線程。

2.通過Thread.setDaemon(false)設置為用戶線程,用於為系統中的其它對象和線程提供服務;通過Thread.setDaemon(true)設置為守護線程,在沒有用戶線程可服務時會自動離開;如果不設置此屬性,默認為用戶線程。

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

4.用Thread.isDaemon()來返回是否是守護線程

5.如果jvm中都是守護進程,當前jvm將退出。

exp:

/** 
* @author laugher_ccc
* @datetime 2016年7月11日 上午10:00:45 
*  
*/
public class DaemonTest extends Thread{
    public void run() {            //永真循環線程
           for(int i=0;;i++){
               try {
                   Thread.sleep(1000);
               } catch (InterruptedException ex) {   }
               System.out.println(i);
           }
       }

       public static void main(String [] args){
           DaemonTest test = new DaemonTest();
           test.setDaemon(true);    //調試時可以設置為false,那么這個程序是個死循環,沒有退出條件。設置為true,即可主線程結束,test線程也結束。
           test.start();
           System.out.println("isDaemon = " + test.isDaemon());
           try {
               System.in.read();   // 接受輸入,使程序在此停頓,一旦接收到用戶輸入,main線程結束,守護線程自動結束
           } catch (IOException ex) {}
       }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM