線程Thread的start和run方法的區(qū)別

一辙培、認識Thread的 start() 和 run()

t.start()會導致run()方法被調(diào)用线定,run()方法中的內(nèi)容稱為線程體早芭,它就是這個線程需要執(zhí)行的工作罗岖。

start()來啟動線程涧至,實現(xiàn)了真正意義上的啟動線程,此時會出現(xiàn)異步執(zhí)行的效果桑包,即在線程的創(chuàng)建和啟動中所述的隨機性南蓬。

而如果使用run()來啟動線程,就不是異步執(zhí)行了哑了,而是同步執(zhí)行赘方,不會達到使用線程的意義

1.start():

“start()方法會使得該線程開始執(zhí)行;java虛擬機會去調(diào)用該線程的run()方法弱左≌福”

使該線程開始執(zhí)行;Java 虛擬機調(diào)用該線程的run方法拆火。

結(jié)果是兩個線程并發(fā)地運行跳夭;當前線程(從調(diào)用返回給start方法)和另一個線程(執(zhí)行其run方法)。

???? 多次啟動一個線程是非法的们镜。特別是當線程已經(jīng)結(jié)束執(zhí)行后币叹,不能再重新啟動。

用start方法來啟動線程憎账,真正實現(xiàn)了多線程運行套硼,這時無需等待run方法體代碼執(zhí)行完畢而直接繼續(xù)執(zhí)行下面的代碼。通過調(diào)

用Thread類的 start()方法來啟動一個線程胞皱,這時此線程處于就緒(可運行)狀態(tài)邪意,并沒有運行,一旦得到cpu時間片反砌,就開始

執(zhí)行run()方法雾鬼,這里方法 run()稱為線程體,它包含了要執(zhí)行的這個線程的內(nèi)容宴树,Run方法運行結(jié)束策菜,此線程隨即終止。

2.run():

publicclassThreadextendsObjectimplementsRunnable

如果該線程是使用獨立的Runnable運行對象構(gòu)造的,則調(diào)用該Runnable對象的run方法又憨;否則翠霍,該方法不執(zhí)行任何操作并返回。

Thread的子類應該重寫該方法蠢莺。

run()方法只是類的一個普通方法而已寒匙,如果直接調(diào)用Run方法,程序中依然只有主線程這一個線程躏将,其程序執(zhí)行路徑還是只有

一條锄弱,還是要順序執(zhí)行,還是要等待run方法體執(zhí)行完畢后才可繼續(xù)執(zhí)行下面的代碼祸憋,這樣就沒有達到寫線程的目的会宪。

總結(jié)

調(diào)用start方法方可啟動線程,而run方法只是thread的一個普通方法調(diào)用蚯窥,還是在主線程里執(zhí)行掸鹅。

Thread thread=new Thread(){?

?@Override?

?public void run() {?

? ? ?testPwd();

? ? ?}

?};

? //? thread.start();

? ? ?thread.run();

? ? System.out.print("啟動線程...");

?}?

//? 測試線程方法?

static void testPwd(){?

? ? ?System.out.println("是否進來...");?

}

?thread.start();

啟動線程...是否進來...

?thread.run();
?是否進來...

11:01:39.720 [新線程] INFO com.whjz.workstation.RunnableT - 線程名:新線程

啟動線程...11:01:39.720 [新線程] INFO com.whjz.workstation.RunnableT - 線程名:新線程

11:01:39.720 [新線程] INFO com.whjz.workstation.RunnableT - 線程名:新線程

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市沟沙,隨后出現(xiàn)的幾起案子河劝,更是在濱河造成了極大的恐慌,老刑警劉巖矛紫,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赎瞎,死亡現(xiàn)場離奇詭異,居然都是意外死亡颊咬,警方通過查閱死者的電腦和手機务甥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來喳篇,“玉大人敞临,你說我怎么就攤上這事◆锢剑” “怎么了挺尿?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長炊邦。 經(jīng)常有香客問我编矾,道長,這世上最難降的妖魔是什么馁害? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任窄俏,我火速辦了婚禮,結(jié)果婚禮上碘菜,老公的妹妹穿的比我還像新娘凹蜈。我一直安慰自己限寞,他們只是感情好,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布仰坦。 她就那樣靜靜地躺著履植,像睡著了一般。 火紅的嫁衣襯著肌膚如雪缎岗。 梳的紋絲不亂的頭發(fā)上静尼,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機與錄音传泊,去河邊找鬼。 笑死鸭巴,一個胖子當著我的面吹牛眷细,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鹃祖,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼溪椎,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了恬口?” 一聲冷哼從身側(cè)響起校读,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎祖能,沒想到半個月后歉秫,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡养铸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年雁芙,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钞螟。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡兔甘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出鳞滨,到底是詐尸還是另有隱情洞焙,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布拯啦,位于F島的核電站澡匪,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏提岔。R本人自食惡果不足惜仙蛉,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望碱蒙。 院中可真熱鬧荠瘪,春花似錦夯巷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至篮绰,卻和暖如春后雷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背吠各。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工臀突, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人贾漏。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓候学,卻偏偏與公主長得像,于是被迫代替她去往敵國和親纵散。 傳聞我的和親對象是個殘疾皇子梳码,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容