線程的start()和run()

java的線程是通過(guò)java.lang.Thread類來(lái)實(shí)現(xiàn)的。VM啟動(dòng)時(shí)會(huì)有一個(gè)由主方法所定義的線程。可以通過(guò)創(chuàng)建Thread的實(shí)例來(lái)創(chuàng)建新的線程盛正。每個(gè)線程都是通過(guò)某個(gè)特定Thread對(duì)象所對(duì)應(yīng)的方法run()來(lái)完成其操作的,方法run()稱為線程體奢浑。通過(guò)調(diào)用Thread類的start()方法來(lái)啟動(dòng)一個(gè)線程蛮艰。

在Java當(dāng)中,線程通常都有五種狀態(tài),創(chuàng)建壤蚜、就緒即寡、運(yùn)行、阻塞和死亡袜刷。
  第一是創(chuàng)建狀態(tài)聪富。在生成線程對(duì)象,并沒(méi)有調(diào)用該對(duì)象的start方法著蟹,這是線程處于創(chuàng)建狀態(tài)墩蔓。
  第二是就緒狀態(tài)。當(dāng)調(diào)用了線程對(duì)象的start方法之后萧豆,該線程就進(jìn)入了就緒狀態(tài)奸披,但是此時(shí)線程調(diào)度程序還沒(méi)有把該線程設(shè)置為當(dāng)前線程,此時(shí)處于就緒狀態(tài)涮雷。在線程運(yùn)行之后阵面,從等待或者睡眠中回來(lái)之后,也會(huì)處于就緒狀態(tài)洪鸭。
  第三是運(yùn)行狀態(tài)样刷。線程調(diào)度程序?qū)⑻幱诰途w狀態(tài)的線程設(shè)置為當(dāng)前線程,此時(shí)線程就進(jìn)入了運(yùn)行狀態(tài)览爵,開(kāi)始運(yùn)行run函數(shù)當(dāng)中的代碼置鼻。
  第四是阻塞狀態(tài)。線程正在運(yùn)行的時(shí)候蜓竹,被暫停箕母,通常是為了等待某個(gè)時(shí)間的發(fā)生(比如說(shuō)某項(xiàng)資源就緒)之后再繼續(xù)運(yùn)行。sleep,suspend梅肤,wait等方法都可以導(dǎo)致線程阻塞司蔬。
  第五是死亡狀態(tài)邑茄。如果一個(gè)線程的run方法執(zhí)行結(jié)束或者調(diào)用stop方法后姨蝴,該線程就會(huì)死亡。對(duì)于已經(jīng)死亡的線程肺缕,無(wú)法再使用start方法令其進(jìn)入就緒左医。

實(shí)現(xiàn)并啟動(dòng)線程有兩種方法
1、寫(xiě)一個(gè)類繼承自Thread類同木,重寫(xiě)run方法浮梢。用start方法啟動(dòng)線程
2、寫(xiě)一個(gè)類實(shí)現(xiàn)Runnable接口彤路,實(shí)現(xiàn)run方法秕硝。用new Thread(Runnable target).start()方法來(lái)啟動(dòng)

多線程原理:相當(dāng)于玩游戲機(jī),只有一個(gè)游戲機(jī)(cpu)洲尊,可是有很多人要玩远豺,于是奈偏,start是排隊(duì)!等CPU選中你就是輪到你躯护,你就run()惊来,當(dāng)CPU的運(yùn)行的時(shí)間片執(zhí)行完,這個(gè)線程就繼續(xù)排隊(duì)棺滞,等待下一次的run()裁蚁。

調(diào)用start()后,線程會(huì)被放到等待隊(duì)列继准,等待CPU調(diào)度枉证,并不一定要馬上開(kāi)始執(zhí)行,只是將這個(gè)線程置于可動(dòng)行狀態(tài)移必。然后通過(guò)JVM刽严,線程Thread會(huì)調(diào)用run()方法,執(zhí)行本線程的線程體避凝。先調(diào)用start后調(diào)用run舞萄,這么麻煩,為了不直接調(diào)用run管削?就是為了實(shí)現(xiàn)多線程的優(yōu)點(diǎn)倒脓,沒(méi)這個(gè)start不行。

1.start()方法來(lái)啟動(dòng)線程含思,真正實(shí)現(xiàn)了多線程運(yùn)行崎弃。這時(shí)無(wú)需等待run方法體代碼執(zhí)行完畢,可以直接繼續(xù)執(zhí)行下面的代碼含潘;通過(guò)調(diào)用Thread類的start()方法來(lái)啟動(dòng)一個(gè)線程饲做, 這時(shí)此線程是處于就緒狀態(tài), 并沒(méi)有運(yùn)行遏弱。 然后通過(guò)此Thread類調(diào)用方法run()來(lái)完成其運(yùn)行操作的盆均, 這里方法run()稱為線程體,它包含了要執(zhí)行的這個(gè)線程的內(nèi)容漱逸, Run方法運(yùn)行結(jié)束泪姨, 此線程終止。然后CPU再調(diào)度其它線程饰抒。
2.run()方法當(dāng)作普通方法的方式調(diào)用肮砾。程序還是要順序執(zhí)行,要等待run方法體執(zhí)行完畢后袋坑,才可繼續(xù)執(zhí)行下面的代碼仗处; 程序中只有主線程——這一個(gè)線程, 其程序執(zhí)行路徑還是只有一條, 這樣就沒(méi)有達(dá)到寫(xiě)線程的目的婆誓。
記字渚:多線程就是分時(shí)利用CPU,宏觀上讓所有線程一起執(zhí)行 旷档,也叫并發(fā)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末模叙,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子鞋屈,更是在濱河造成了極大的恐慌范咨,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件厂庇,死亡現(xiàn)場(chǎng)離奇詭異渠啊,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)权旷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門替蛉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人拄氯,你說(shuō)我怎么就攤上這事躲查。” “怎么了译柏?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵镣煮,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我鄙麦,道長(zhǎng)典唇,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任胯府,我火速辦了婚禮介衔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘骂因。我一直安慰自己炎咖,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布侣签。 她就那樣靜靜地躺著塘装,像睡著了一般急迂。 火紅的嫁衣襯著肌膚如雪影所。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,821評(píng)論 1 290
  • 那天僚碎,我揣著相機(jī)與錄音猴娩,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛卷中,可吹牛的內(nèi)容都是我干的矛双。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蟆豫,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼议忽!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起十减,我...
    開(kāi)封第一講書(shū)人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤栈幸,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后帮辟,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體速址,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年由驹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了芍锚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蔓榄,死狀恐怖并炮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情甥郑,我是刑警寧澤渣触,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站壹若,受9級(jí)特大地震影響嗅钻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜店展,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一养篓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧赂蕴,春花似錦柳弄、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至糖赔,卻和暖如春萍丐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背放典。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工逝变, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留基茵,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓壳影,卻偏偏與公主長(zhǎng)得像拱层,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子宴咧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

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