線程與線程池總結(jié)

1) 線程的幾種狀態(tài)

·????初始狀態(tài):new Thread 進(jìn)入初始狀態(tài)

????·可運(yùn)行狀態(tài)(就緒狀態(tài)):調(diào)用線程的start方法,進(jìn)入可運(yùn)行狀態(tài)

·????運(yùn)行狀態(tài):OS選中片效,此進(jìn)程獲得cpu的時間片仓洼,該線程開始執(zhí)行run方法,進(jìn)入運(yùn)行狀態(tài)

·????阻塞狀態(tài):調(diào)用Thread.sleep方法(sleep結(jié)束進(jìn)入就緒狀態(tài))堤舒、調(diào)用其他線程的join方法(其他線程執(zhí)行結(jié)束進(jìn)入就緒狀態(tài))、等待用戶輸入(用戶輸入完哺呜,進(jìn)入就緒狀態(tài))等進(jìn)入阻塞狀態(tài)

·????死亡狀態(tài):run方法執(zhí)行結(jié)束舌缤,進(jìn)入死亡狀態(tài)


圖片來自網(wǎng)絡(luò)

另外,線程執(zhí)行過程中:

1、遇到同步鎖Synchronized時国撵,進(jìn)入鎖池隊列陵吸;

2、調(diào)用wait方法介牙,該進(jìn)程進(jìn)去等待序列壮虫,等待其他進(jìn)程調(diào)用notify或者notifyAll喚醒

3、鎖池隊列的線程拿到對象鎖時环础,線程進(jìn)入就緒狀態(tài)

4囚似、調(diào)用Thread.yield()方法,讓出cpu資源线得,進(jìn)入就緒狀態(tài)與其他線程一起競爭資源

2) 線程相關(guān)的幾個方法

線程的方法:

Thread.sleep(long milSecond);靜態(tài)方法饶唤,調(diào)用肯定是當(dāng)前線程執(zhí)行

Thread.yield(); 靜態(tài)方法贯钩,調(diào)用肯定是當(dāng)前線程執(zhí)行

t.join()或者t.join(long milSecond); 成員方法募狂,將cpu資源讓給t,t執(zhí)行完畢或者執(zhí)行到milSecond時角雷,進(jìn)入就緒狀態(tài)

對象方法:

obj.wait(); 調(diào)用線程進(jìn)入等待隊列

obj.notify(); 喚醒等待隊列中監(jiān)聽該對象的某個線程進(jìn)入鎖池隊列

obj.notifyAll(); 喚醒等待隊列中監(jiān)聽該對象的所有線程進(jìn)入鎖池隊列

3) 四種常用線程池:

ExecutorService是Java提供的用于管理線程池的類祸穷。該類的兩個作用:控制線程數(shù)量和重用線程

·Executors.newCacheThreadPool():

可緩存線程池,先查看池中有沒有以前建立的線程勺三,如果有雷滚,就直接使用。如果沒有檩咱,就建一個新的線程加入池中揭措,緩存型池子通常用于執(zhí)行一些生存期很短的異步型任務(wù)

·Executors.newSingleThreadExecutor():

創(chuàng)建一個單線程化的線程池,它只會用唯一的工作線程來執(zhí)行任務(wù)刻蚯,保證所有任務(wù)按照指定順序(FIFO, LIFO, 優(yōu)先級)執(zhí)行绊含。

·Executors.newFixedThreadPool(int n):

創(chuàng)建一個可重用固定個數(shù)的線程池,以共享的無界隊列方式來運(yùn)行這些線程炊汹。

·Executors.newScheduledThreadPool(int n):

創(chuàng)建一個定長線程池躬充,支持定時及周期性任務(wù)執(zhí)行

ScheduledExecutorService scheduledExecutorService=Executors.newScheduledThreadPool(10);

延遲三秒執(zhí)行:

scheduledExecutorService.schedule(new Runnable() {

@Override

public void run() {

}

},3,TimeUnit.SECONDS);

60秒后開始任務(wù),每執(zhí)行完一個任務(wù)后10秒開始下個任務(wù):

scheduledExecutorService.scheduleWithFixedDelay(new Runnable() {

@Override

public void run() {

}

},60,10,TimeUnit.SECONDS);

60秒后開始任務(wù)讨便,每隔10秒開始一個任務(wù):

scheduledExecutorService.scheduleAtFixedRate(new Runnable() {

@Override

public void run() {

}

},60,10,TimeUnit.SECONDS);

?著作權(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)我...
    茶點故事閱讀 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日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年叫编,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片霹抛。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖卷谈,靈堂內(nèi)的尸體忽然破棺而出杯拐,到底是詐尸還是另有隱情,我是刑警寧澤世蔗,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布端逼,位于F島的核電站,受9級特大地震影響污淋,放射性物質(zhì)發(fā)生泄漏顶滩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一寸爆、第九天 我趴在偏房一處隱蔽的房頂上張望礁鲁。 院中可真熱鬧,春花似錦赁豆、人聲如沸仅醇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽析二。三九已至,卻和暖如春节预,著一層夾襖步出監(jiān)牢的瞬間叶摄,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工安拟, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留蛤吓,地道東北人。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓去扣,卻偏偏與公主長得像柱衔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子愉棱,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,927評論 2 355

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