并發(fā)系列開篇

麥吉爾大學(xué)(加拿大)校訓(xùn):“天道酬勤∑贪眨”


? ? 曾幾何時艇挨,并行計算/并發(fā)處理刮起了一陣風(fēng),對于Java開發(fā)者更是評定中高級的一項硬性指標(biāo)韭赘;在面試中也是逢面必問缩滨,對此我也只能呵呵,因為我在面試中也會問泉瞻,哈哈脉漏。Linus Torvalds說過,忘掉那該死的并行吧袖牙!只看這一句話那肯定是太過了侧巨,也被國內(nèi)人士過分解讀,斷章取義鞭达,其實有個小前提是排除圖形計算和服務(wù)器端司忱。隨著前后端的分離,在構(gòu)建大型服務(wù)群方面畴蹭,Java主導(dǎo)的地位越發(fā)突出烘贴。因此,掌握高并發(fā)撮胧,如何更好地利用多核處理器桨踪,的確是工作中特別重要的一項技能。

? ? 本人工作年限有限芹啥,技術(shù)還有待深耕锻离,只能從并發(fā)基礎(chǔ)/源碼剖析/工作積累幾個方面淺顯地聊聊并發(fā)處理铺峭,這是根基,能夠系統(tǒng)地把這些根基性的東西梳理一遍汽纠,并靈活地在工作中使用卫键,其實在國內(nèi)就已經(jīng)達(dá)到中級的水平了。不扯了虱朵,先聊聊一些發(fā)展歷程和基礎(chǔ)概念性的東西莉炉,打卡上車。

一 操作系統(tǒng)的演變歷程

? ? 對于操作系統(tǒng)的完整發(fā)展歷程可自行維基碴犬,這里只談下自己的理解絮宁,雅頌俗說,如果有被誤導(dǎo)服协,請自行甄變绍昂。

? ? 1 串行處理

? ? 第一代計算機(jī)主要在高精專的機(jī)構(gòu)使用,主要進(jìn)行大量非人力可為的計算偿荷。它是沒有操作系統(tǒng)的窘游,直接與硬件打交道,輸入機(jī)器指令跳纳,計算機(jī)處理忍饰,所以稱之為串行。這樣計算機(jī)的使用效率太低了寺庄,必將上下而求索艾蓝。

? ? 2 批處理系統(tǒng)

? ? 針對使用率的問題,人們就把需要執(zhí)行的命令铣揉,預(yù)先寫到磁帶上,形成一個批任務(wù)清單餐曹,再交給計算機(jī)執(zhí)行逛拱,執(zhí)行后的結(jié)果再輸出到磁帶上,這樣大大提升了計算機(jī)的使用率台猴。針對CPU密集型的人物似乎還好朽合,但遇到執(zhí)行IO密集型的任務(wù),計算機(jī)的使用效率就降下來了饱狂。人們肯定得想招呀曹步,能不能在執(zhí)行IO密集型的時候再讓CPU處理另一個程序?

? ? 3 集成電路

? ? 計算機(jī)必須能夠載入多個程序休讳,在不同的時刻能夠進(jìn)行調(diào)度和切換讲婚。怎么描述每個程序呢,這就是進(jìn)程俊柔,代表每個獨立的程序筹麸,每個進(jìn)程都具有獨立的內(nèi)存空間和獨立保存自己的運行狀態(tài)活合;由CPU調(diào)度切換,彼此之間不影響物赶。這是現(xiàn)代操作系統(tǒng)的重要基礎(chǔ)白指,發(fā)明了進(jìn)程。

? ? 4 用戶交互

? ? 上述的系統(tǒng)只能小范圍商用酵紫,系統(tǒng)中每個進(jìn)程內(nèi)部是串行執(zhí)行的告嘲,用戶是無法進(jìn)行交互響應(yīng)的,毫無交互性可言奖地,也就無法推廣橄唬。在渴望交互的強(qiáng)烈訴求下,誕生了個人計算機(jī)鹉动,各種現(xiàn)代操作系統(tǒng)應(yīng)運而生轧坎。如何解決交互問題,繼續(xù)上述的思路泽示,把程序劃分不同的模塊缸血,把進(jìn)程拆解為多個子任務(wù),每個子任務(wù)可以作為用戶交互的單元械筛,線程由此而來捎泻。

二 進(jìn)程線程詳解

? ? 上述梳理下操作系統(tǒng)的歷程,主要是為了引出進(jìn)程和線程埋哟。進(jìn)程/線程的概念可自行百度笆豁,我們通過上述基本可以得出些結(jié)論:

? ? 1 進(jìn)程之間是相互獨立的,具有隔離的內(nèi)存空間赤赊,獨立保存自身的運行狀態(tài)和運行位置闯狱;

? ? 2 線程是共享進(jìn)程內(nèi)部的資源和空間的,當(dāng)然線程也可邏輯劃分自身獨立的空間抛计;

? ? 3 進(jìn)程就像系統(tǒng)上的每個獨立應(yīng)用哄孤,每個進(jìn)程包含多個線程;

? ? 4 進(jìn)程是操作系統(tǒng)進(jìn)行資源分配的基本單位吹截,這讓操作系統(tǒng)并發(fā)性成為可能瘦陈;

? ? 5 線程是操作系統(tǒng)進(jìn)行調(diào)度的基本單位,使進(jìn)程內(nèi)部并發(fā)成為可能波俄,這是高并發(fā)的戰(zhàn)場晨逝。

三 并發(fā)引發(fā)的思考

? ? 我們知道,線程屬于進(jìn)程懦铺,共享進(jìn)程內(nèi)部的資源和空間捉貌,多個線程在同時進(jìn)行處理的時候會引發(fā)沖突嘛,有沖突怎么處理?這也是本系列存在的意義昏翰,后續(xù)會通過JMM內(nèi)存模型/鎖/并發(fā)工具等組合拳亮招苍匆。

? ? 多線程的性能一定優(yōu)于單線程嘛?

? ? 這是個好頻繁的問題棚菊,這是一個無法從單一維度回答的問題浸踩,需要考慮應(yīng)用的運行環(huán)境,是多核CPU嘛统求,程序中主要耗時任務(wù)是CPU密集型還是IO密集型等等检碗,我們在系列后續(xù)會聊到,煩請多多思考码邻!


特此聲明:

分享文章有完整的知識架構(gòu)圖折剃,將從以下幾個方面系統(tǒng)展開:

1 基礎(chǔ)(Linux/Spring boot/并發(fā))

2 性能調(diào)優(yōu)(jvm/tomcat/mysql)

3 高并發(fā)分布式

4 微服務(wù)體系

如果您覺得文章不錯,請關(guān)注阿倫故事像屋,您的支持是我堅持的莫大動力怕犁,在此受小弟一拜!


每篇福利:

評論區(qū)打出車型
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末己莺,一起剝皮案震驚了整個濱河市奏甫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌凌受,老刑警劉巖阵子,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異胜蛉,居然都是意外死亡挠进,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進(jìn)店門誊册,熙熙樓的掌柜王于貴愁眉苦臉地迎上來领突,“玉大人,你說我怎么就攤上這事案怯【” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵殴泰,是天一觀的道長于宙。 經(jīng)常有香客問我浮驳,道長悍汛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任至会,我火速辦了婚禮离咐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己宵蛀,他們只是感情好昆著,可當(dāng)我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著术陶,像睡著了一般凑懂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上梧宫,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天接谨,我揣著相機(jī)與錄音,去河邊找鬼塘匣。 笑死脓豪,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的忌卤。 我是一名探鬼主播扫夜,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼驰徊!你這毒婦竟也來了笤闯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤辣垒,失蹤者是張志新(化名)和其女友劉穎望侈,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體勋桶,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡脱衙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了例驹。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捐韩。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖鹃锈,靈堂內(nèi)的尸體忽然破棺而出荤胁,到底是詐尸還是另有隱情,我是刑警寧澤屎债,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布仅政,位于F島的核電站,受9級特大地震影響盆驹,放射性物質(zhì)發(fā)生泄漏圆丹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一躯喇、第九天 我趴在偏房一處隱蔽的房頂上張望辫封。 院中可真熱鬧硝枉,春花似錦、人聲如沸倦微。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽欣福。三九已至责球,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拓劝,已是汗流浹背棕诵。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留凿将,地道東北人校套。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像牧抵,于是被迫代替她去往敵國和親笛匙。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,627評論 2 350

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