心有多大舞臺便有多大

          Embrace changes, pursue excellence, share niceness.

          學習:Thread的setDaemon方法

          setDaemon方法把java的線程設置為守護線程,此方法的調用必須在線程啟動之前執行。只有在當前jvm中所有的線程都為守護線程時,jvm才會退出。
          如果創建的線程沒有顯示調用此方法,這默認為用戶線程。
          下面是一個示例代碼:

          public class TestThreadDaemonMethod {

           /**
            * @param args
            */
           public static void main(String[] args) {
                  TestThread t = new TestThread("test thread");
                  //如果設置為false,那么在執行完后面的start方法后,jvm不會退出
                  t.setDaemon(false);
                  //如果設置為true,則執行完后面的start方法后,jvm會退出
                  t.setDaemon(true);
                  t.start();
                  //在start之后設置daemon會拋出異常
                  //t.setDaemon(true);
                  if (t.isDaemon()) {
                      System.out.println("test thread is a daemon.");
                  }
          }
          }

          class TestThread extends Thread {
                  private String name;
           
                  public TestThread(String name) {
                      this.name = name;
                  }
           
                  /* (non-Javadoc)
                   * @see java.lang.Thread#run()
                  */
                  public void run() {
                      while(true) {
                          System.out.println("running " + name);
                          try {
                              Thread.sleep(1);
                          } catch (InterruptedException e) {
                              e.printStackTrace();
                          }
                      }
                  }
          }

          posted on 2010-03-31 15:26 pony 閱讀(2162) 評論(0)  編輯  收藏 所屬分類: Java

          主站蜘蛛池模板: 大田县| 雷州市| 南召县| 通榆县| 淳化县| 昌吉市| 元江| 敦化市| 报价| 府谷县| 垦利县| 寿宁县| 马公市| 金川县| 赣榆县| 神木县| 海安县| 昭通市| 石狮市| 昭觉县| 平泉县| 古田县| 盈江县| 九龙城区| 三穗县| 绥棱县| 盐津县| 连山| 长兴县| 犍为县| 乐业县| 红河县| 灌阳县| 泸定县| 汕尾市| 凤山县| 永新县| 汤原县| 平凉市| 隆安县| 驻马店市|