心有多大舞臺便有多大

          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 閱讀(2168) 評論(0)  編輯  收藏 所屬分類: Java

          主站蜘蛛池模板: 南木林县| 西昌市| 胶南市| 武宁县| 克山县| 榕江县| 买车| 青海省| 修武县| 九龙城区| 沂源县| 樟树市| 会理县| 祁阳县| 珠海市| 华安县| 资溪县| 封丘县| 原阳县| 民权县| 黄浦区| 油尖旺区| 海淀区| 宣武区| 吉隆县| 全椒县| 河东区| 盐边县| 涿鹿县| 甘洛县| 淄博市| 甘肃省| 文成县| 阿合奇县| 元氏县| 抚顺市| 临湘市| 宁河县| 吉水县| 沙洋县| 新丰县|