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

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

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

    lbom

    小江西

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      18 隨筆 :: 21 文章 :: 69 評論 :: 0 Trackbacks

    在一次基于多線程的編碼測試中,發現繼承Runnable接口的線程實現類在運行時并未按預計啟動多線程,經分析和比較后,找出問題所現,現將其記錄下來,以供分享。

    Java中,多線程編程中的線程編寫,有兩種方式,即擴展Thread基類或繼承Runnable接口;例如:

    public class T extends Thread {

    public void run() {

    ……

    }

    }

    public class R implements Runnable {

    public void run() {

    ……

    }

    }

    對于擴展Thread的實現類T,可以使用T.start()來啟動此線程;如

    public static void main(String[] args) {

    Thread t = new T();

    t.start();

    }

    但對于繼承Runnable接口的實現類R,因接口中并沒有提供直接啟動線程的start()方法,只有一個線程主邏輯運行的run()方法。此時,如執行run(),會因為R.run()只是作為此線程實現類的一個方法,并未在主線程之外,啟動另一個線程,從而導致R.run()阻斷主線程繼續向下執行;并未達到多線程運行的目的。

    錯誤啟動代碼如下:

    public static void main(String[] args) {

    R r = new R();

    r.run();

    }

    那么,如何使用另外線程來啟動繼承Runnable接口的實現類呢?以下就是它的正確的使用方式:

    public static void main(String[] args) {

    R r = new R();

    Thread t = new Thread(r);

    t.start();

    }

    此時,需注意,在主線程執行時,需等待子線程執行,否則,當主線程結束后,子線程也將結束。

    posted on 2010-03-10 16:48 lbom 閱讀(1583) 評論(2)  編輯  收藏

    評論

    # re: Thread &amp; Runnable[未登錄] 2010-03-12 19:34 feenn
    不應該出現這種低級錯誤,建議應該從理解入手,而不是只知道調用API。  回復  更多評論
      

    # re: Thread &amp; Runnable 2010-03-13 15:06 隔葉黃鶯
    說到多線程一般都會說 Thread 和 Runnable,代碼表現即為:

    1:new Thread(){
    public void run(){
    //do something......
    }
    }.start();

    2:new Thread(new Runnable(){
    public void run(){
    //do something......
    }
    }).start();

    其實了解到 Thread 與 Runnable 是一種實現關系就知道以上兩種方式其實是一回事,究底來說 run() 方法都是由 Runnable 接口來約定的,要用 start() 方法來啟動線程,要跑的方法追到頭還是 Runnable 接口中的 run() 方法。  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久精品国产亚洲综合色| 亚洲精品老司机在线观看| 亚洲AV午夜福利精品一区二区| 成人午夜免费视频| 国产福利免费观看| 日本亚洲色大成网站www久久| 久久国产免费福利永久| 亚洲最大黄色网址| 免费a级毛片高清视频不卡| 久久久久精品国产亚洲AV无码| 成人免费a级毛片| 亚洲人成色77777在线观看| 高清国语自产拍免费视频国产| 亚洲欧美日韩综合久久久久| 永久免费bbbbbb视频| 国产精品亚洲色图| 亚洲人成人网站在线观看| 中文字幕免费播放| 久久青青成人亚洲精品| 精品国产sm捆绑最大网免费站| 亚洲最新在线视频| 国产福利免费观看| 免费播放在线日本感人片| 久久精品国产亚洲AV大全| 久久不见久久见免费影院| 老子影院午夜伦不卡亚洲| 国产精品亚洲综合专区片高清久久久| 99免费在线视频| 亚洲国产精品综合久久网各| 女人18毛片免费观看| 人人爽人人爽人人片av免费 | 日本在线免费播放| 亚洲另类自拍丝袜第1页| 永久免费视频v片www| 中国人免费观看高清在线观看二区| 婷婷亚洲综合五月天小说| 免费电影在线观看网站| 成人妇女免费播放久久久| 亚洲人成777在线播放| 免费一级e一片在线播放| 人人玩人人添人人澡免费|