Android面試-多線程系列

寶寶們助隧,面試官問你多線程的理解唆香,不要再說Okttp嫌变、流程框架已經(jīng)幫我們封裝好了,一般使用不到躬它,關于多線程你應該知道這些了腾啥。正常的話,面試官會問你
1.創(chuàng)建線程有幾種方式冯吓?
2.多線程的三大原則倘待?
3.怎樣保證線程安全?volite兩個特性是什么组贺?sychronized和volite有什么區(qū)別凸舵?
4.來了一個新任務,多線程是如何處理的失尖?
上干貨0⊙佟!掀潮!

創(chuàng)建線程有幾種方式菇夸?
三種。
1.繼承Thread類仪吧。
2.實現(xiàn)Runnable接口庄新。
3.實現(xiàn)Callable接口。

多線程的三大原則薯鼠?
原子性择诈,可見性,有序性出皇。

怎樣保證線程安全吭从?
使用鎖保證線程安全,如sychronized恶迈、volite涩金、ReentryLock。
volite兩個特性是什么暇仲?
volite的兩個特性是可見性和禁止指令重排序步做。可見性是線程在獲取volite屬性時奈附,需要去主內(nèi)存刷新數(shù)據(jù)到線程內(nèi)存中全度,寫數(shù)據(jù)要去更新到主內(nèi)存中。禁止指令重排序最經(jīng)典的例子是單例的DCL斥滤,由于創(chuàng)建對象分為3個步驟将鸵,分配內(nèi)存空間勉盅,初始化成員屬性和構(gòu)造方法,將引用指向內(nèi)存空間顶掉,草娜。由于Java是亂序執(zhí)行,在多線程環(huán)境痒筒,創(chuàng)建對象的第二步最后執(zhí)行宰闰,會出現(xiàn)對象已經(jīng)不為空,但是調(diào)用使用它的屬性去調(diào)用方法會崩潰簿透,因為此時還沒有初始化成員屬性移袍。
sychronized和volite有什么區(qū)別?
sychronized僅有獲得鎖的當前線程訪問老充,其他線程不能訪問葡盗。volite所有線程都可以訪問,需要從主內(nèi)存瀆值啡浊。
sychronized可以作用在類觅够、方法,代碼塊虫啥。volite可以作用在變量蔚约。
sychronized保證原子性奄妨,volite不能保證原子性涂籽。
sychronized會造成線程阻塞,volite不會造成線程阻塞砸抛。
synchronized可以被編譯器優(yōu)化评雌,volite不可以被編譯器優(yōu)化。

來了一個新任務直焙,多線程是如何處理的景东?
多線程中會設置核心線程數(shù),最大線程數(shù)奔誓,阻塞隊列斤吐。其中
核心線程數(shù)+非核心線程數(shù)=最大線程數(shù)。
1.來一個任務厨喂,看是否有空閑核心線程和措。有執(zhí)行在核心線程。
2.如果核心線程數(shù)已滿蜕煌,是否還可以加入阻塞隊列派阱,阻塞隊列不滿加入阻塞隊列。
3.如果阻塞隊列已滿斜纪,是否有空閑的非核心線程贫母。有執(zhí)行在非核心線程文兑。
4.如果沒有空閑的非核心線程,我們使用拒絕策略拒絕這個任務腺劣。

---------多線程部分《摘自Android進階之光》劉望舒

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绿贞,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子誓酒,更是在濱河造成了極大的恐慌樟蠕,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件靠柑,死亡現(xiàn)場離奇詭異寨辩,居然都是意外死亡,警方通過查閱死者的電腦和手機歼冰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門靡狞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人隔嫡,你說我怎么就攤上這事甸怕。” “怎么了腮恩?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵梢杭,是天一觀的道長。 經(jīng)常有香客問我秸滴,道長武契,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任荡含,我火速辦了婚禮咒唆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘释液。我一直安慰自己全释,他們只是感情好,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布误债。 她就那樣靜靜地躺著浸船,像睡著了一般。 火紅的嫁衣襯著肌膚如雪寝蹈。 梳的紋絲不亂的頭發(fā)上李命,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天,我揣著相機與錄音躺盛,去河邊找鬼项戴。 笑死,一個胖子當著我的面吹牛槽惫,可吹牛的內(nèi)容都是我干的周叮。 我是一名探鬼主播辩撑,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼仿耽!你這毒婦竟也來了合冀?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤项贺,失蹤者是張志新(化名)和其女友劉穎君躺,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體开缎,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡棕叫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了奕删。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俺泣。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖完残,靈堂內(nèi)的尸體忽然破棺而出伏钠,到底是詐尸還是另有隱情,我是刑警寧澤谨设,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布熟掂,位于F島的核電站,受9級特大地震影響扎拣,放射性物質(zhì)發(fā)生泄漏赴肚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一鹏秋、第九天 我趴在偏房一處隱蔽的房頂上張望尊蚁。 院中可真熱鬧亡笑,春花似錦侣夷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至晰甚,卻和暖如春衙传,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背厕九。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工蓖捶, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人扁远。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓俊鱼,卻偏偏與公主長得像刻像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子并闲,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355

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