2020-04-28

Day-32 線程的啟動方式? 線程的常用方法? 線程的狀態(tài)??? 臨界資源問題解決(同步)

1鸿捧、線程的啟動方式

線程有兩種啟動方式

其一是:自定義類繼承Thread類(JDK提供好的類,用于表示一個線程對象)疙渣,重寫run()方法匙奴,通過自定義類對象調(diào)用start()方法啟動線程。

其二是:自定義類實現(xiàn)Runnable接口(重寫run()方法)妄荔,通過Thread類有參構(gòu)造創(chuàng)建Thread類對像泼菌,將自定義類對象作為Thread類對像的參數(shù)。然后通過Thread類對像調(diào)用start()方法懦冰。

1.2、方法一:直接繼承Thread類

step1:創(chuàng)建一個子類谣沸,來繼承Thread類

step2:重寫run()方法刷钢,因為這是線程體:當(dāng)CPU調(diào)度執(zhí)行該線程的時候,就要執(zhí)行的是run()方法中的代碼乳附。

step3:創(chuàng)建該類的對象内地,表示一個線程,調(diào)用start()進(jìn)而啟動這個線程赋除。意味著該線程一切準(zhǔn)備就緒阱缓,隨時可以被CPU調(diào)度執(zhí)行。但是CPU是否立刻執(zhí)行举农?不一定荆针,要看CPU自己。

圖1:方法一

1.2、方法二:實現(xiàn)Runnable接口

step1:創(chuàng)建一個實現(xiàn)類航背,實現(xiàn)Runnable接口

step2:重寫run()方法

step3:先創(chuàng)建該實現(xiàn)類對象:mt喉悴,根據(jù)實現(xiàn)類對象再創(chuàng)建Thread對象,然后啟動玖媚。

圖2:Thread類構(gòu)造方法
圖3:方法二

1.3箕肃、對比兩種創(chuàng)建并啟動線程的方式

圖4:比較

2、Thread類的常用方法

圖5-a:線程的常用方法part 1 今魔。
圖5-b:線程的常用方法part 2 勺像。

3、線程的狀態(tài)

線程的生命周期:5種错森,6種吟宦,7種(不同角度分法不同)。

線程new出來:新建

準(zhǔn)備就緒啟動:start()问词;

如果被CPU調(diào)度執(zhí)行:運(yùn)行狀態(tài)督函,run()方法

阻塞狀態(tài):-->進(jìn)入就緒

出生-->就緒-->運(yùn)行-->死亡

圖6:線程的狀態(tài)

4、臨界資源問題解決(同步)

多個線程之間存在共享的數(shù)據(jù)激挪。一條線程執(zhí)行過程中辰狡,其他線程也可以訪問,可能會修改數(shù)據(jù)的值垄分。造成的共享數(shù)據(jù)的不安全宛篇。叫做臨界資源的安全問題。同步(synchronized)則是解決這一問題關(guān)鍵方法薄湿。

同步:原子性操作叫倍。同步起來的代碼,一次只能被1個線程執(zhí)行完畢豺瘤,這個過程中吆倦,不能被其他的線程插入執(zhí)行。

4.1坐求、同步代碼塊

synchronized (鎖對象) {? //上鎖

??? //被同步的代碼蚕泽,每次只能被一個線程執(zhí)行,中間不能被其他線程插入執(zhí)行

}?? //鎖打開

同步的原理:

對象的"互斥鎖":每個對象都可以看做一個鎖桥嗤。有兩種狀態(tài):打開(默認(rèn))须妻,關(guān)閉。

鎖對象:能被同時被多條線程功能訪問的對象泛领。

t1荒吏,t2,t3渊鞋,t4--->共同的一把鎖頭(同一個對象)如圖7所示绰更。

圖7:示例代碼

注意點(diǎn):

同步的原理:鎖定一個對象瞧挤。(對象可以和程序無關(guān),但必須是多個線程訪問的共同的對象才可以)动知。

常用的鎖對象:

this皿伺,創(chuàng)建一個對象,傳入進(jìn)去盒粮。

大招:類名.class鸵鸥,字符串常量:"abc"

4.2、同步方法

//該方法丹皱,每次只能有一個線程來執(zhí)行妒穴,期間,不能被其他的線程插入執(zhí)行摊崭。

public? synchronized?? void 方法名(){

}

4.3讼油、同步的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):解決了多線程之間的共享數(shù)據(jù)的安全問題

缺點(diǎn):降低效率,容易“死鎖”如圖8所示呢簸。

圖8:死鎖
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末矮台,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子根时,更是在濱河造成了極大的恐慌瘦赫,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛤迎,死亡現(xiàn)場離奇詭異确虱,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)替裆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門校辩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人辆童,你說我怎么就攤上這事宜咒。” “怎么了把鉴?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵故黑,是天一觀的道長。 經(jīng)常有香客問我纸镊,道長倍阐,這世上最難降的妖魔是什么概疆? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任逗威,我火速辦了婚禮,結(jié)果婚禮上岔冀,老公的妹妹穿的比我還像新娘凯旭。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布罐呼。 她就那樣靜靜地躺著鞠柄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嫉柴。 梳的紋絲不亂的頭發(fā)上厌杜,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機(jī)與錄音计螺,去河邊找鬼夯尽。 笑死,一個胖子當(dāng)著我的面吹牛登馒,可吹牛的內(nèi)容都是我干的匙握。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼陈轿,長吁一口氣:“原來是場噩夢啊……” “哼圈纺!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起麦射,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蛾娶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后法褥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體茫叭,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年半等,在試婚紗的時候發(fā)現(xiàn)自己被綠了揍愁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡杀饵,死狀恐怖莽囤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情切距,我是刑警寧澤朽缎,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站谜悟,受9級特大地震影響话肖,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜葡幸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一最筒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蔚叨,春花似錦床蜘、人聲如沸辙培。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽扬蕊。三九已至,卻和暖如春丹擎,著一層夾襖步出監(jiān)牢的瞬間尾抑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工蒂培, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蛮穿,地道東北人。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓毁渗,卻偏偏與公主長得像践磅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子灸异,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評論 2 355

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

  • 一:java概述:1府适,JDK:Java Development Kit,java的開發(fā)和運(yùn)行環(huán)境肺樟,java的開發(fā)工...
    ZaneInTheSun閱讀 2,651評論 0 11
  • 1.1 多線程介紹 學(xué)習(xí)多線程之前檐春,我們先要了解幾個關(guān)于多線程有關(guān)的概念。 進(jìn)程:進(jìn)程指正在運(yùn)行的程序么伯。確切的來說...
    Pecksniff1994閱讀 1,556評論 0 2
  • 想了好幾個題目,浮現(xiàn)出很多事情硬爆,最終卻決定只是做個流水賬欣舵,反正只有自己最在乎自己了吧,說出來又有幾個人能看呢缀磕? 1...
    靳育輝提分十三姨閱讀 220評論 2 2
  • 正是一個月的中旬缘圈,是月亮最圓的一天。大天狗振翅袜蚕,身后健壯有力的翅膀開合糟把,帶著他飛上了高空。傍晚間喝的酒太烈牲剃,到現(xiàn)在...
    高冷景閱讀 510評論 0 0
  • 看了這章節(jié)的一部分遣疯,就感覺這說到了我心坎的痛處了,我就是個做事情沒計劃的人颠黎,所以每次做的亂糟糟另锋,自己都不敢直視,好...
    成長足跡go閱讀 227評論 0 0