<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Jafe Lee

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      49 隨筆 :: 0 文章 :: 24 評論 :: 0 Trackbacks
    ?1、開啟一個新線程的方法,歸結起來不外乎有兩種:
    • 繼承類java.lang.Thread ,覆蓋其中的方法 run(); 實例化該子類,例如:
      public?class?MyThread?extends?Thread?
      {
      ???
      public?void?run()?
      ??{
      ??????
      //?do?some?work
      ???}
      }
      //?code?to?use?MyThread
      new?MyThread().start();
    • 定義一個實現接口 java.lang.Runnable; 的類,實現該接口的方法run(); 然后將該類的一個實例作為實參傳給Thread的構造方法。例如:
      public?class?MyThread2?implements?Runnable?
      {
      ???
      public?void?run()?
      ??{
      ??????
      //?do?some?work
      ???}
      }

      //?code?to?use?MyThread2
      Thread?t?=?new?Thread(MyThread2);
      t.start();
    • 無論用哪種方法最終得到的都是一個Thread的object,當調用方法start()時,系統將創建一個新的線程來執行run() 方法,這個新的線程將一直運行知道run方法退出。在新線程開始運行的同時,原來的線程也將繼續執行start()之后的代碼。
    2、一個線程的生命周期:每個線程的生命周期(lifecycle)一共有六個狀態(state),這六個狀態用枚舉類型Thread.State的六個枚舉常量來表示。分別是:
    3、線程優先級:線程可以有不同優先級,Thread定義了三個優先級常量:
    public?final?static?int?MIN_PRIORITY?=?1;?//最小優先級
    public?final?static?int?NORM_PRIORITY?=?5;?//默認的優先級
    public?final?static?int?MAX_PRIORITY?=?10;?//最大優先級
    一個線程的優先級可以是1到10中任何一個整數(包括1和10).方法 void setPriority(int newPriority) 可以用來設置線程有限級。關于優先級需要注意的是,調度器總是選擇優先級最高的線程來執行,但是java的線程優先級是和操作系統相關的,例如windows XP系統有7個優先級,java中的某些優先級會對應到xp的7個優先級中去。但是SUN 的linux版本的JVM上所有線程的優先級都是NORM_PRIORITY。在使用優先級的同時也要避免餓死的情況出現。

    4、處理 uncaught exceptions:
    當一個線程的run()方法執行完畢或者run()方法執行return語句時,線程正常中止。當run方法拋出一個unchecked異常時(注意:run方法是不能拋出checked異常的),線程也會中止并且打印出異常信息。如果你想捕獲處理該異常,則必須為該線程添加一個uncaught exception handler來執行。例如:
    package?uncaughtexception;
    public?class?MyThread?implements?Runnable
    {
    ????@Override
    ????
    public?void?run()
    ????{
    ????????
    throw?new?UnsupportedOperationException();
    ????}
    }


    package?uncaughtexception;

    public?class?TestMyThread
    {
    ????
    public?static?void?main(String?[]?args)
    ????{
    ????????Thread?aThread?
    =?new?Thread(new?MyThread());
    ????????
    ????????aThread.setUncaughtExceptionHandler(
    new?Thread.UncaughtExceptionHandler()
    ????????{
    ????????????@Override
    ????????????
    public?void?uncaughtException(Thread?t,?Throwable?e)
    ????????????{
    ????????????????System.out.println(
    "Hello");
    ????????????}
    ????????});
    ????????
    ????????aThread.start();
    ????}
    }
    運行結果: Hello
    posted on 2007-09-12 21:32 Jafe Lee 閱讀(953) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 亚洲自偷自拍另类12p| 免费99热在线观看| 亚洲熟妇av一区二区三区下载| 久久精品无码专区免费| 国产成人精品日本亚洲专区61| 国产一级在线免费观看| 亚洲精品无码av人在线观看| 大地资源在线资源免费观看| 久久精品国产亚洲| 中文字幕免费观看| 亚洲kkk4444在线观看| 四虎在线免费播放| 在线视频亚洲一区| 亚洲国产中文字幕在线观看 | 亚洲伊人久久大香线蕉| 99在线精品视频观看免费| 亚洲熟妇AV乱码在线观看| 国产无遮挡色视频免费视频| 一级毛片试看60分钟免费播放| 精品国产亚洲一区二区三区| 久久久久久国产精品免费无码| 456亚洲人成影院在线观| 国产精品极品美女免费观看| 最新亚洲成av人免费看| 亚洲国产亚洲片在线观看播放| 日韩精品视频免费观看| 中文字幕一区二区免费| 久久精品国产亚洲av麻豆小说| 国产精品成人免费一区二区| 免费国产高清毛不卡片基地 | 男的把j放进女人下面视频免费| 亚洲高清资源在线观看| 永久免费bbbbbb视频| 你好老叔电影观看免费| 亚洲一区免费在线观看| mm1313亚洲精品国产| 精品免费视在线观看| 亚洲熟妇AV日韩熟妇在线| 国产亚洲成av片在线观看| 性感美女视频在线观看免费精品 | 久久91亚洲人成电影网站|