<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 閱讀(1581) 評論(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一区二区三区| 久久亚洲中文字幕精品有坂深雪| 亚洲日本在线观看网址| 亚洲AV无码一区二区三区鸳鸯影院| 一区二区免费国产在线观看| 怡红院免费的全部视频| 色欲A∨无码蜜臀AV免费播 | yellow免费网站| 午夜免费福利片观看| 两性刺激生活片免费视频| 四虎影院永久免费观看| 亚洲人成人无码网www电影首页 | 国产成人精品日本亚洲网站| 亚洲精品视频在线免费| 亚洲av无码专区在线观看亚| 国产97视频人人做人人爱免费| 3344永久在线观看视频免费首页| 日韩成人在线免费视频| 亚洲色精品88色婷婷七月丁香| 亚洲伊人精品综合在合线| 免费看又黄又爽又猛的视频软件| 亚在线观看免费视频入口| 午夜寂寞在线一级观看免费| 亚洲午夜久久久久妓女影院| 亚洲一级毛片在线观| 一区二区在线免费视频| 午夜性色一区二区三区免费不卡视频 | 亚洲成a人片在线播放| 亚洲欧洲日产国码久在线观看| 亚洲另类自拍丝袜第五页| 久久国产乱子精品免费女| 日韩免费观看视频| 久久久久亚洲Av片无码v | 亚洲另类自拍丝袜第1页| 色费女人18女人毛片免费视频| 7m凹凸精品分类大全免费| 免费人成视网站在线观看不卡|