java并發(fā)編程基礎(chǔ)

java并發(fā)編程

1、什么叫線程乏奥?

一個(gè)程序執(zhí)行多個(gè)任務(wù)摆舟,通常每一個(gè)任務(wù)成為一個(gè)線程〉肆耍可以同時(shí)運(yùn)行一個(gè)以上線程的程序稱(chēng)為多線程程序恨诱。

線程與進(jìn)程的區(qū)別:

本質(zhì)區(qū)別在于進(jìn)程擁有自己的一整套變量,而線程則共享數(shù)據(jù)骗炉。

與進(jìn)程相比照宝,線程更加輕量級(jí),創(chuàng)建和銷(xiāo)毀一個(gè)線程的開(kāi)銷(xiāo)比進(jìn)程小很多句葵。

線程可能會(huì)不安全厕鹃。

實(shí)際應(yīng)用舉例:一個(gè)web服務(wù)可能要并發(fā)處理多個(gè)請(qǐng)求。一個(gè)瀏覽器可以同時(shí)下載多個(gè)幾幅圖片乍丈。

javase 1.5后多線程發(fā)生了重大變化剂碴,增加很多接口和類(lèi)。

2轻专、線程的創(chuàng)建方法:

1汗茄、實(shí)現(xiàn)Runnable接口。

2铭若、繼承Thread類(lèi)。

注意:不要調(diào)用Thread類(lèi)或Runnable接口的run方法递览。因?yàn)橹苯诱{(diào)用run方法叼屠,只會(huì)執(zhí)行同一個(gè)線程中的任務(wù),而不會(huì)啟動(dòng)線程绞铃。應(yīng)該調(diào)用Thread.start方法镜雨。這個(gè)方法將創(chuàng)建一個(gè)執(zhí)行run方法的新線程。

3儿捧、中斷線程

常用方法:

//向線程發(fā)送中斷請(qǐng)求荚坞,將線程中斷狀態(tài)標(biāo)記為true挑宠。如果目前該線程被一個(gè)sleep調(diào)用阻塞,將拋出InterruptedException 異常颓影。

void interrupt(){}

//靜態(tài)方法各淀,判斷當(dāng)前線程是否被中斷,會(huì)將線程的中斷狀態(tài)標(biāo)記為false

static boolean interrupted(){}

//實(shí)例方法诡挂,判斷當(dāng)前線程是否被中斷

boolean isInterrupted(){}

//靜態(tài)方法碎浇,返回代表當(dāng)前執(zhí)行線程的Thread對(duì)象

static ThreadcurrentThread(){}

中斷線程的作用是為了實(shí)現(xiàn)多線程,在該線程中斷其他線程獲得運(yùn)行機(jī)會(huì)璃俗。

4奴璃、線程的幾種狀態(tài)

創(chuàng)建new,可運(yùn)行Runnable城豁,被阻塞Blocked苟穆,等待waiting,計(jì)時(shí)終止Timed waiting唱星,被終止Terminated

被阻塞和等待線程雳旅。

什么時(shí)候有可能變成阻塞狀態(tài)?

當(dāng)一個(gè)線程試圖獲取一個(gè)內(nèi)部的對(duì)象鎖魏颓,而該鎖被其他線程所擁有岭辣,則該線程進(jìn)入阻塞狀態(tài)。

當(dāng)線程等待另一個(gè)線程通知調(diào)度器一個(gè)條件時(shí)甸饱,它自己進(jìn)入阻塞狀態(tài)沦童。

有幾個(gè)方法有一個(gè)參數(shù)超時(shí),調(diào)用他們導(dǎo)致線程進(jìn)入計(jì)時(shí)等待叹话。

線程的終止:

run方法正常執(zhí)行退出而死亡偷遗。

因?yàn)橐粋€(gè)沒(méi)有捕獲的異常終止了run方法而意外死亡。

線程屬性:線程優(yōu)先級(jí)驼壶,守護(hù)線程氏豌,線程組

什么叫守護(hù)線程?

守護(hù)線程

setDaemon(Boolean f)守護(hù)線程的唯一作用就是為其他線程提供服務(wù)的热凹。

線程組是一個(gè)可以統(tǒng)一管理的線程的集合泵喘。默認(rèn)的情況下創(chuàng)建的所有的線程屬于相同的線程組。

對(duì)象鎖

同步的作用保證數(shù)據(jù)正確性和一致性般妙。兩個(gè)線程或兩個(gè)以上線程要共享對(duì)同一數(shù)據(jù)的存取纪铺。java語(yǔ)言提供了Synchronized關(guān)鍵字,并在1.5后引入了ReentrantLock碟渺。在執(zhí)行一段代碼前鲜锚,會(huì)給它加上對(duì)象鎖。別的同步線程如果要運(yùn)行,必須得等當(dāng)前線程運(yùn)行完芜繁,才能順利運(yùn)行旺隙。

同步方法和同步代碼塊的區(qū)別:

同步方法是粗粒度的:

即有synchronized關(guān)鍵字修飾的方法。?

由于java的每個(gè)對(duì)象都有一個(gè)內(nèi)置鎖骏令,當(dāng)用此關(guān)鍵字修飾方法時(shí)蔬捷,?

內(nèi)置鎖會(huì)保護(hù)整個(gè)方法。在調(diào)用該方法前伏社,需要獲得內(nèi)置鎖抠刺,否則就處于阻塞狀態(tài)。

同步代碼塊是細(xì)粒度的:

即Synchronized關(guān)鍵字修飾的代碼塊摘昌。

被該關(guān)鍵字修飾的語(yǔ)句塊會(huì)自動(dòng)被加上內(nèi)置鎖速妖,從而實(shí)現(xiàn)同步。

條件對(duì)象

條件對(duì)象個(gè)人的理解是為了實(shí)現(xiàn)某些特定條件下同步聪黎,而做出的努力罕容。通過(guò)別的線程的一些狀態(tài)變化,來(lái)滿(mǎn)足本線程的條件稿饰,從而繼續(xù)運(yùn)行本線程锦秒。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市喉镰,隨后出現(xiàn)的幾起案子旅择,更是在濱河造成了極大的恐慌,老刑警劉巖侣姆,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件生真,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡捺宗,警方通過(guò)查閱死者的電腦和手機(jī)柱蟀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蚜厉,“玉大人长已,你說(shuō)我怎么就攤上這事≈缗#” “怎么了术瓮?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)贰健。 經(jīng)常有香客問(wèn)我胞四,道長(zhǎng),這世上最難降的妖魔是什么霎烙? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上悬垃,老公的妹妹穿的比我還像新娘游昼。我一直安慰自己,他們只是感情好尝蠕,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布烘豌。 她就那樣靜靜地躺著,像睡著了一般看彼。 火紅的嫁衣襯著肌膚如雪廊佩。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,573評(píng)論 1 305
  • 那天靖榕,我揣著相機(jī)與錄音标锄,去河邊找鬼。 笑死茁计,一個(gè)胖子當(dāng)著我的面吹牛料皇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播星压,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼践剂,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了娜膘?” 一聲冷哼從身側(cè)響起逊脯,我...
    開(kāi)封第一講書(shū)人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎竣贪,沒(méi)想到半個(gè)月后军洼,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡贾富,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年歉眷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片颤枪。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡汗捡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出畏纲,到底是詐尸還是另有隱情扇住,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布盗胀,位于F島的核電站艘蹋,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏票灰。R本人自食惡果不足惜女阀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一宅荤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧浸策,春花似錦冯键、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至蚯舱,卻和暖如春改化,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背枉昏。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工陈肛, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人凶掰。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓燥爷,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親懦窘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子前翎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

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

  • 本文是我自己在秋招復(fù)習(xí)時(shí)的讀書(shū)筆記,整理的知識(shí)點(diǎn)畅涂,也是為了防止忘記港华,尊重勞動(dòng)成果,轉(zhuǎn)載注明出處哦午衰!如果你也喜歡立宜,那...
    波波波先森閱讀 11,264評(píng)論 4 56
  • 進(jìn)程和線程 進(jìn)程 所有運(yùn)行中的任務(wù)通常對(duì)應(yīng)一個(gè)進(jìn)程,當(dāng)一個(gè)程序進(jìn)入內(nèi)存運(yùn)行時(shí),即變成一個(gè)進(jìn)程.進(jìn)程是處于運(yùn)行過(guò)程中...
    勝浩_ae28閱讀 5,108評(píng)論 0 23
  • 一、wait--notify--sleep Object obj = new Object(); obj.wait...
    fe0180bd6eaf閱讀 337評(píng)論 0 1
  • 品雞蛋之美味 媽媽的菜籃子里臊岸,雞蛋是必須的橙数。 雞蛋,既可以做主菜也可以做配菜帅戒。摘來(lái)西紅柿灯帮,是做湯還是炒呢...
    紙蛾子閱讀 362評(píng)論 0 3
  • 過(guò)年回家,無(wú)意間碰上了十年沒(méi)有見(jiàn)面的初中同學(xué)利娜逻住。雖然跟利娜同一個(gè)村钟哥,但結(jié)婚后各自為了自己的家庭打拼,見(jiàn)面的時(shí)間很...
    愛(ài)璐琛閱讀 1,090評(píng)論 2 1