關(guān)于進(jìn)程票彪、線程、協(xié)程淺談

進(jìn)程
是什么:
1不狮、計(jì)算機(jī)系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位降铸,是應(yīng)用程序運(yùn)行的載體,更好的理解就是電腦的任務(wù)管理器摇零,下圖中每個(gè)都是一個(gè)進(jìn)程推掸。

image.png

2、每個(gè)CPU同一時(shí)間只能處理一個(gè)進(jìn)程驻仅,那為什么還能同時(shí)處理上面的那么多進(jìn)程谅畅,實(shí)際上是CPU用很快的速度切換不同的進(jìn)程。(舉個(gè)例子:你一個(gè)人單挑100個(gè)人噪服,你要么就一個(gè)打完打下一個(gè)毡泻。要么就是你一個(gè)人“同時(shí)”打100個(gè)人。當(dāng)你速度足夠快時(shí)粘优,你瞬閃到每個(gè)人面前打一拳仇味,有的人還被你打了3-4拳,瞬間3輪過后雹顺,100個(gè)人倒下了丹墨。在普通人面前,就覺得你同時(shí)擊倒了100人嬉愧。但其實(shí)說嚴(yán)格點(diǎn)贩挣,你還是一個(gè)一個(gè)擊倒的。)進(jìn)程之間的切換還會有一個(gè)問題没酣,開銷很大揽惹。
3、任務(wù)調(diào)度采用的是時(shí)間片輪轉(zhuǎn)的搶占式調(diào)度方式四康。
4搪搏、進(jìn)程切換的條件是:進(jìn)程執(zhí)行完畢、分配給進(jìn)程的cpu時(shí)間片結(jié)束闪金,系統(tǒng)發(fā)生中斷需要處理疯溺,或者進(jìn)程等待必要的資源(進(jìn)程阻塞),阻塞的話程序還有其他可以執(zhí)行的地方哎垦,不一定要等待囱嫩,所以就有了線程。

線程(由內(nèi)核管理和調(diào)度)
是什么:
1漏设、一個(gè)進(jìn)程可以有多個(gè)線程墨闲,多個(gè)線程共享進(jìn)程的內(nèi)存空間。
2郑口、任務(wù)調(diào)度采用的是時(shí)間片輪轉(zhuǎn)的搶占式調(diào)度方式鸳碧。

進(jìn)程與線程的區(qū)別
1盾鳞、線程是程序執(zhí)行的最小單位,而進(jìn)程是操作系統(tǒng)分配資源的最小單位瞻离;
2腾仅、一個(gè)進(jìn)程由一個(gè)或多個(gè)線程組成,線程是一個(gè)進(jìn)程中代碼的不同執(zhí)行路線套利;
3推励、進(jìn)程之間相互獨(dú)立,但同一進(jìn)程下的各個(gè)線程之間共享程序的內(nèi)存空間(包括代碼段肉迫、數(shù)據(jù)集验辞、堆等)及一些進(jìn)程級的資源(如打開文件和信號),某進(jìn)程內(nèi)的線程在其它進(jìn)程不可見喊衫;
4跌造、調(diào)度和切換:線程上下文切換比進(jìn)程上下文切換要快得多。

作者:一入碼坑深似海
鏈接:http://www.reibang.com/p/80bde972196d
來源:簡書
著作權(quán)歸作者所有格侯。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)鼻听,非商業(yè)轉(zhuǎn)載請注明出處。

協(xié)程(由程序員自己寫程序來管理調(diào)度的联四,對于內(nèi)核不可見撑碴,也叫用戶空間線程)
協(xié)程的目的:如果說每個(gè)請求占用一個(gè)線程去完成完整的業(yè)務(wù)邏輯,系統(tǒng)的吞吐能力取決于每個(gè)線程的操作耗時(shí)朝墩,如果遇到很耗時(shí)的I/0行為醉拓,整個(gè)系統(tǒng)的吞吐就會立刻下降,這個(gè)時(shí)候線程就會處于阻塞狀態(tài)收苏,如果線程很多亿卤,就會存在很多線程處于空閑狀態(tài)(等該線程執(zhí)行完才能執(zhí)行),就會造成資源應(yīng)用不徹底鹿霸。最常見的就是數(shù)據(jù)庫操作(它是同步阻塞的)排吴,這里的耗時(shí)其實(shí)是讓CPU一直在等待I/O返回,其實(shí)在這種情況下線程根本沒有利用CPU去做運(yùn)算懦鼠,而是處于空轉(zhuǎn)狀態(tài)钻哩。協(xié)程的目的就是當(dāng)出現(xiàn)長時(shí)間的I/O操作時(shí),通過讓出目前的協(xié)程調(diào)度肛冶,執(zhí)行下一個(gè)任務(wù)街氢。
協(xié)程的特點(diǎn):
1、協(xié)同睦袖,因?yàn)槭怯沙绦騿T自己寫的調(diào)度策略珊肃,其通過協(xié)作而不是搶占來進(jìn)行切換
2、在用戶態(tài)完成創(chuàng)建,切換和銷毀
3伦乔、* ?? 從編程角度上看厉亏,協(xié)程的思想本質(zhì)上就是控制流的主動(dòng)讓出(yield)和恢復(fù)(resume)機(jī)制*

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市评矩,隨后出現(xiàn)的幾起案子叶堆,更是在濱河造成了極大的恐慌阱飘,老刑警劉巖斥杜,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異沥匈,居然都是意外死亡蔗喂,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門高帖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缰儿,“玉大人,你說我怎么就攤上這事散址」哉螅” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵预麸,是天一觀的道長瞪浸。 經(jīng)常有香客問我,道長吏祸,這世上最難降的妖魔是什么对蒲? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮贡翘,結(jié)果婚禮上蹈矮,老公的妹妹穿的比我還像新娘。我一直安慰自己鸣驱,他們只是感情好泛鸟,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著踊东,像睡著了一般北滥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上递胧,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天碑韵,我揣著相機(jī)與錄音,去河邊找鬼缎脾。 笑死祝闻,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播联喘,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼华蜒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了豁遭?” 一聲冷哼從身側(cè)響起叭喜,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蓖谢,沒想到半個(gè)月后捂蕴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡闪幽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年啥辨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盯腌。...
    茶點(diǎn)故事閱讀 40,503評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡溉知,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出腕够,到底是詐尸還是另有隱情级乍,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布帚湘,位于F島的核電站玫荣,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏客们。R本人自食惡果不足惜崇决,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望底挫。 院中可真熱鬧恒傻,春花似錦、人聲如沸建邓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽官边。三九已至沸手,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間注簿,已是汗流浹背契吉。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留诡渴,地道東北人捐晶。 一個(gè)月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親惑灵。 傳聞我的和親對象是個(gè)殘疾皇子山上,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評論 2 359