亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

java基本教程之Thread中start()和run()的區別 java多線程教程

2019-11-26 15:47:01
字體:
來源:轉載
供稿:網友

Thread類包含start()和run()方法,它們的區別是什么?本章將對此作出解答。本章內容包括:
start() 和 run()的區別說明
start() 和 run()的區別示例
start() 和 run()相關源碼(基于JDK1.7.0_40)

start() 和 run()的區別說明
start() : 它的作用是啟動一個新線程,新線程會執行相應的run()方法。start()不能被重復調用。
run()   : run()就和普通的成員方法一樣,可以被重復調用。單獨調用run()的話,會在當前線程中執行run(),而并不會啟動新線程!

 

下面以代碼來進行說明。

復制代碼 代碼如下:

class MyThread extends Thread{ 
    public void run(){
        ...
    }
};
MyThread mythread = new MyThread();

mythread.start()會啟動一個新線程,并在新線程中運行run()方法。
而mythread.run()則會直接在當前線程中運行run()方法,并不會啟動一個新線程來運行run()。

 

start() 和 run()的區別示例
下面,通過一個簡單示例演示它們之間的區別。源碼如下:

復制代碼 代碼如下:

public synchronized void start() {
    // 如果線程不是"就緒狀態",則拋出異常!
    if (threadStatus != 0)
        throw new IllegalThreadStateException();

    // 將線程添加到ThreadGroup中
    group.add(this);

    boolean started = false;
    try {
        // 通過start0()啟動線程
        start0();
        // 設置started標記
        started = true;
    } finally {
        try {
            if (!started) {
                group.threadStartFailed(this);
            }
        } catch (Throwable ignore) {
        }
    }
}

運行結果:

復制代碼 代碼如下:

main call mythread.run()
main is running
main call mythread.start()
mythread is running

結果說明:
(01) Thread.currentThread().getName()是用于獲取“當前線程”的名字。當前線程是指正在cpu中調度執行的線程。
(02) mythread.run()是在“主線程main”中調用的,該run()方法直接運行在“主線程main”上。
(03) mythread.start()會啟動“線程mythread”,“線程mythread”啟動之后,會調用run()方法;此時的run()方法是運行在“線程mythread”上。

 

start() 和 run()相關源碼(基于JDK1.7.0_40)
Thread.java中start()方法的源碼如下:

復制代碼 代碼如下:

public synchronized void start() {
    // 如果線程不是"就緒狀態",則拋出異常!
    if (threadStatus != 0)
        throw new IllegalThreadStateException();

    // 將線程添加到ThreadGroup中
    group.add(this);

    boolean started = false;
    try {
        // 通過start0()啟動線程
        start0();
        // 設置started標記
        started = true;
    } finally {
        try {
            if (!started) {
                group.threadStartFailed(this);
            }
        } catch (Throwable ignore) {
        }
    }
}

說明:start()實際上是通過本地方法start0()啟動線程的。而start0()會新運行一個線程,新線程會調用run()方法。

復制代碼 代碼如下:

private native void start0();


Thread.java中run()的代碼如下:

復制代碼 代碼如下:

public void run() {
    if (target != null) {
        target.run();
    }
}

說明:target是一個Runnable對象。run()就是直接調用Thread線程的Runnable成員的run()方法,并不會新建一個線程。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国内精久久久久久久久久人| 91精品在线国产| 日韩av大片在线| 欧美激情视频在线| 777国产偷窥盗摄精品视频| 国产一区二区黑人欧美xxxx| 亚洲欧美一区二区激情| 91国产精品电影| 日韩欧美精品网站| 国产91在线高潮白浆在线观看| 欧美精品免费在线| 欧美日韩中国免费专区在线看| 日韩成人免费视频| 成人免费激情视频| 欧美性猛交xxxx黑人猛交| 精品福利视频导航| 亚洲人免费视频| 中文字幕亚洲在线| 中文字幕亚洲第一| 国产日韩欧美中文在线播放| 18久久久久久| 永久555www成人免费| 日韩经典中文字幕| 日韩中文视频免费在线观看| 91欧美激情另类亚洲| 久久99国产精品久久久久久久久| 国产精品久久婷婷六月丁香| 亚洲第一二三四五区| 欧美精品videossex88| 在线观看视频亚洲| 国产日韩中文字幕在线| 亚洲男人的天堂在线| 91精品国产高清久久久久久久久| 国产日韩在线视频| 亚洲福利影片在线| 欧美激情网友自拍| 国产91精品网站| 91在线观看免费高清完整版在线观看| 疯狂蹂躏欧美一区二区精品| 成人国产亚洲精品a区天堂华泰| 国产精品久久婷婷六月丁香| 亚洲精品国产综合区久久久久久久| 欧美成人免费一级人片100| 欧美性猛交xxxx乱大交极品| 亚洲欧洲国产一区| 国产精品旅馆在线| 国产69精品99久久久久久宅男| 91po在线观看91精品国产性色| 亲爱的老师9免费观看全集电视剧| 欧美激情小视频| 成人免费自拍视频| 日韩在线观看免费全集电视剧网站| 国产一区二区丝袜| 青青青国产精品一区二区| 7777kkkk成人观看| 欧美俄罗斯乱妇| 久久久日本电影| 国产精品永久免费视频| 日韩在线视频导航| 久久久久久久一区二区三区| 久久久精品2019中文字幕神马| 欧美最猛性xxxxx亚洲精品| 亚洲性线免费观看视频成熟| 久久精品国产一区| 久久精品成人欧美大片古装| 久久精品国产99国产精品澳门| 亚洲欧美日韩第一区| 亚洲美女中文字幕| 91嫩草在线视频| 国产精品你懂得| 久久久成人精品| 国产精品一区二区久久久久| 一区二区三区国产在线观看| 蜜月aⅴ免费一区二区三区| 日韩在线观看网站| 91九色国产视频| 亚洲欧美综合另类中字| 国产精品入口尤物| 亚洲天堂av高清| 成人高清视频观看www| 久久久久久久久91| 欧美激情视频在线免费观看 欧美视频免费一| 一区二区福利视频| 亚洲乱码av中文一区二区| 精品久久久精品| 亚洲一区二区三区视频播放| 亚洲激情视频在线| 91精品久久久久久综合乱菊| 日韩中文字幕亚洲| 在线视频日韩精品| 国产精品视频999| 91青草视频久久| 国产男人精品视频| 亚洲精品小视频在线观看| 美女视频久久黄| 亚洲成人黄色在线| 在线观看欧美日韩| 国产精品女人网站| 精品亚洲男同gayvideo网站| 一区二区三欧美| 91高清在线免费观看| 日韩欧美在线视频免费观看| 中文字幕欧美精品在线| 欧美在线视频一区| 91精品视频观看| 日韩成人久久久| 黄色一区二区在线观看| 欧美专区国产专区| 欧美成人四级hd版| 日韩一区二区欧美| 亚洲色图日韩av| 精品国产老师黑色丝袜高跟鞋| 日韩在线视频导航| 4k岛国日韩精品**专区| 亚洲天堂免费视频| 91视频国产高清| 欧美日韩视频免费播放| 欧美日韩国产色| 久久影院资源网| 精品国产欧美一区二区三区成人| 91成人性视频| 欧美亚洲国产日韩2020| 海角国产乱辈乱精品视频| 亚洲日本成人网| 性色av一区二区三区在线观看| 欧美成人久久久| 色阁综合伊人av| 日韩高清a**址| 91日本视频在线| 91精品国产91| 俺也去精品视频在线观看| 亚洲韩国青草视频| 91国在线精品国内播放| 日韩精品在线视频| 久久人人爽人人爽人人片亚洲| 色综合亚洲精品激情狠狠| 日韩av123| 久久精品久久久久久国产 免费| 亚洲香蕉成人av网站在线观看| 欧日韩在线观看| 日韩精品视频免费在线观看| 麻豆成人在线看| 久久精品视频在线| 97视频免费看| 亚洲成年网站在线观看| 中文字幕亚洲专区| 亚洲精品中文字幕女同| 亚洲精品成人久久| 亚洲成人免费网站| 日韩av一区二区在线观看| 国产视频精品免费播放| 亚洲视频第一页| 精品国产1区2区| 色中色综合影院手机版在线观看| 日韩中文字在线| 日韩精品在线免费播放| 91精品国产91久久久| 日韩精品免费在线视频观看| 91国语精品自产拍在线观看性色| 亚洲欧美国内爽妇网| 亚洲精品mp4| 欧美黑人又粗大| 国产第一区电影| 9.1国产丝袜在线观看|