<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
    主站蜘蛛池模板: 亚洲黄色三级视频| 亚洲国产精品成人精品软件| 国产99久久亚洲综合精品| 成人免费淫片在线费观看| 亚洲中文字幕久久精品蜜桃| 岛国大片免费在线观看| 亚洲av无码一区二区三区人妖| 国产色爽免费视频| 男女啪啪免费体验区| 久久精品国产亚洲Aⅴ香蕉 | 免费H网站在线观看的| 亚洲精品国产专区91在线| 在线观看的免费网站无遮挡| 91午夜精品亚洲一区二区三区| 成人女人A级毛片免费软件| 亚洲成在人线aⅴ免费毛片| 国产一区二区三区在线免费观看 | 2015日韩永久免费视频播放| 亚洲一卡2卡4卡5卡6卡残暴在线| 在线视频免费观看高清| 久久精品亚洲日本波多野结衣| 亚洲VA综合VA国产产VA中| 中文字幕的电影免费网站| 亚洲综合国产精品| 免费看大美女大黄大色| h视频在线观看免费| 亚洲av无码专区在线播放| 午夜国产精品免费观看| 最新亚洲人成无码网www电影| 亚洲国产V高清在线观看| 日本视频免费高清一本18| 国产成人精品日本亚洲网址| 国产高清在线精品免费软件| 你是我的城池营垒免费观看完整版| 亚洲五月激情综合图片区| 午夜a级成人免费毛片| 在线免费视频你懂的| 亚洲一区二区三区四区视频 | 亚洲区不卡顿区在线观看| 日本不卡免费新一区二区三区| 亚洲中文字幕日本无线码|