2018-10-12 線程學(xué)習(xí)日志

概念

程序(Program)是對(duì)數(shù)據(jù)描述與操作的代碼集合肛冶,如:Word、暴風(fēng)影音等應(yīng)用程序宫莱。是一個(gè)靜態(tài)的概念

進(jìn)程(Process)是程序的一次動(dòng)態(tài)的執(zhí)行過(guò)程静汤,它對(duì)應(yīng)了從代碼加載逆甜、執(zhí)行至執(zhí)行完畢的一個(gè)完整的過(guò)程教藻,這個(gè)過(guò)程也是進(jìn)程本身從產(chǎn)生篡悟、發(fā)展至消亡的過(guò)程谜叹。是一個(gè)動(dòng)態(tài)概念匾寝。

進(jìn)程的特點(diǎn):

進(jìn)程是系統(tǒng)運(yùn)行程序的基本單位。

每一個(gè)進(jìn)程都有自己獨(dú)立的一塊內(nèi)存空間叉谜、一組系統(tǒng)資源旗吁。

每一個(gè)進(jìn)程的內(nèi)部數(shù)據(jù)和狀態(tài)都是完全獨(dú)立的。

線程是進(jìn)程中執(zhí)行運(yùn)算的最小單位停局,一個(gè)進(jìn)程在其執(zhí)行過(guò)程中可以產(chǎn)生多個(gè)線程很钓,而線程必須在某個(gè)進(jìn)程內(nèi)執(zhí)行。

進(jìn)程按處理級(jí)別可分為:

核心級(jí)線程

核心級(jí)線程是和系統(tǒng)任務(wù)相關(guān)的線程董栽,它負(fù)責(zé)處理不同進(jìn)程之間的多個(gè)線程码倦。允許不同進(jìn)程中的線程按照同一相對(duì)優(yōu)先掉隊(duì)的方法對(duì)線程進(jìn)行調(diào)度,使它們有條不紊地工作锭碳,可以發(fā)揮處理器的并發(fā)優(yōu)勢(shì)袁稽,以充分利用計(jì)算機(jī)的軟/硬件資源

用戶級(jí)線程

在開發(fā)程序時(shí),由于程序的需要而編寫的線程即用戶級(jí)線程擒抛,這些線程的創(chuàng)建推汽、執(zhí)行和消亡都是在編寫應(yīng)用程序時(shí)進(jìn)行控制的。對(duì)于用戶級(jí)別線程的切換歧沪,通常發(fā)生在一個(gè)應(yīng)用程序的諸多線程之間歹撒,如迅雷中的多線程下載就屬于用戶級(jí)線程。

多線程的優(yōu)勢(shì)

多線程可以帶來(lái)更好的用戶體驗(yàn)诊胞,避免因程序執(zhí)行過(guò)慢而導(dǎo)致出現(xiàn)計(jì)算機(jī)死機(jī)或者白屏的情況暖夭。

多線程程序可以最大限度地提高計(jì)算機(jī)系統(tǒng)的利用率,如迅雷的多線程下載撵孤。

編寫線程類

使用一個(gè)線程的過(guò)程有4個(gè)步驟:

定義一個(gè)線程迈着,同時(shí)指明這個(gè)線程所有執(zhí)行的代碼,即期望的完成的功能邪码。

創(chuàng)建線程對(duì)象裕菠。

啟動(dòng)線程。

終止線程闭专。

定義一個(gè)線程類通常有兩種方法奴潘,分別是繼承 java.lang.Thread 類和實(shí)現(xiàn) java.lang.Runnable 接口

使用 Thread 類創(chuàng)建線程

方? ? 法說(shuō)? ? ? 明

void run()執(zhí)行任務(wù)操作的方法

void start()使該線程開始執(zhí)行

void sleep(long millis)在指定的毫秒數(shù)內(nèi)讓當(dāng)前正在只想的線程休眠(暫停執(zhí)行)

String getName()返回該線程的名稱

int getPriority()返回線程的優(yōu)先級(jí)

void setPriority(int newPriority)更改線程的優(yōu)先級(jí)

Thread.State getState()返回該線程的狀態(tài)

boolean isAlive()測(cè)試線程是否處于活動(dòng)狀態(tài)

void join()等待該線程終止

void interrupt()中斷線程

void yield()暫停當(dāng)前正在執(zhí)行的線程對(duì)象,并執(zhí)行其他線程喻圃。

使用 Runnable 接口創(chuàng)建線程

定義類實(shí)現(xiàn) Runnable 接口,并實(shí)現(xiàn) Runnable 的 run() 方法粪滤,在 run() 方法中輸出數(shù)據(jù)斧拍。

創(chuàng)建線程對(duì)象

調(diào)用 start() 方法啟動(dòng)線程

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市杖小,隨后出現(xiàn)的幾起案子肆汹,更是在濱河造成了極大的恐慌愚墓,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昂勉,死亡現(xiàn)場(chǎng)離奇詭異浪册,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)岗照,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門村象,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人攒至,你說(shuō)我怎么就攤上這事厚者。” “怎么了迫吐?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵库菲,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我志膀,道長(zhǎng)熙宇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任溉浙,我火速辦了婚禮烫止,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘放航。我一直安慰自己烈拒,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布广鳍。 她就那樣靜靜地躺著荆几,像睡著了一般。 火紅的嫁衣襯著肌膚如雪赊时。 梳的紋絲不亂的頭發(fā)上吨铸,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音祖秒,去河邊找鬼诞吱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛竭缝,可吹牛的內(nèi)容都是我干的房维。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼抬纸,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼咙俩!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤阿趁,失蹤者是張志新(化名)和其女友劉穎膜蛔,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體脖阵,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡皂股,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了命黔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呜呐。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖纷铣,靈堂內(nèi)的尸體忽然破棺而出卵史,到底是詐尸還是另有隱情,我是刑警寧澤搜立,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布以躯,位于F島的核電站,受9級(jí)特大地震影響啄踊,放射性物質(zhì)發(fā)生泄漏忧设。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一颠通、第九天 我趴在偏房一處隱蔽的房頂上張望址晕。 院中可真熱鬧,春花似錦顿锰、人聲如沸谨垃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)刘陶。三九已至,卻和暖如春牢撼,著一層夾襖步出監(jiān)牢的瞬間匙隔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工熏版, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留纷责,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓撼短,卻偏偏與公主長(zhǎng)得像再膳,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子曲横,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

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

  • 進(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,091評(píng)論 0 23
  • 進(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ò)程中...
    小徐andorid閱讀 2,801評(píng)論 3 53
  • Java多線程學(xué)習(xí) [-] 一擴(kuò)展javalangThread類 二實(shí)現(xiàn)javalangRunnable接口 三T...
    影馳閱讀 2,952評(píng)論 1 18
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理喂柒,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,638評(píng)論 18 139
  • 再過(guò)2天胳喷,2017年就將結(jié)束了。2017年對(duì)我來(lái)說(shuō)是意義特別深重的一年夭织。這一年吭露,我摯愛(ài)的媽媽永遠(yuǎn)地離開了這個(gè)世界離...
    echo陳1005閱讀 780評(píng)論 0 1