? ? ? ? ?讀這本書已一段時間,當(dāng)時看到此段文字特吸引我:很多具備文藝氣息的技術(shù)大師辞嗡,他們要么作畫、要么彈琴滞造、要么寫作续室、要么運動,同時還寫得一手好代碼谒养。覺得這種技術(shù)+藝術(shù)的結(jié)合特別的吸引我挺狰,于是決心往下讀。
? ? ?今天看的是:電腦和人腦的并發(fā)买窟。最早的時候電腦一個CPU只能同時運行一個任務(wù)丰泊,后面可以多重工作。 ?但在復(fù)雜任務(wù)并發(fā)處理的時候始绍,人腦往往會高估自己的處理能力瞳购,其實任務(wù)的并行、上下文的切換亏推、注意力的分散学赛,都會讓你的效率大打折扣。
以下摘書中文字:
? ? ? ? 第二個出場的是分時系統(tǒng)径簿。分時系統(tǒng)是一種協(xié)作模式罢屈,每個程序運行一小段時間都得主動把CPU讓出來給其他程序,這樣每個程序都有機(jī)會用到CPU一小段時間篇亭。
? ? ? ? ? 第三個隆重登場的是多任務(wù)系統(tǒng)缠捌。程序員們讓操作系統(tǒng)接管了所有的硬件資源,變得更加高級智能,系統(tǒng)進(jìn)程開始分級曼月,有的是特權(quán)級別谊却,有的是平民級別
? ? ? ?以上都是單核單CPU的情況,但無論線程間的切換多么快哑芹,這些都是并發(fā)炎辨,而不是并行。
? ? ? ? ?中間插播一段并發(fā)和并行的區(qū)別聪姿。如果一個系統(tǒng)支持兩個或多個動作(Action)同時存在碴萧,那就是一個并發(fā)系統(tǒng)。如果一個系統(tǒng)支持兩個或多個動作同時執(zhí)行末购,那就是一個并行系統(tǒng)破喻。也就是說,單個CPU永遠(yuǎn)無法同時執(zhí)行兩個或以上的任務(wù)盟榴,但是允許任務(wù)同時存在曹质。所以,只有多核或多個CPU才可能發(fā)生并行擎场,如果單核單CPU只能發(fā)生并發(fā)行為羽德。
? ? ? ?人腦就比較慘了,在電腦突飛猛進(jìn)的這幾十年里迅办,幾乎沒有任何進(jìn)展宅静,腦袋仍然只有一個,也沒有裂變出多核……
? ? ? ? ?但是礼饱,當(dāng)我們在健身房跑步時聽英語坏为,寫文章或編碼的時候聽歌(所有不讓聽音樂編程的公司都將死于心碎)究驴,坐地鐵的時候閱讀镊绪,步行的時候思考,這就變得非常有意義洒忧。因為我們在一個相對寬松的環(huán)境下把復(fù)雜的邏輯任務(wù)和簡單的機(jī)械任務(wù)結(jié)合在一起蝴韭,既不影響A,也不會干擾B熙侍,這種情況是我們優(yōu)先要采取的并發(fā)策略榄鉴。
? ? ? ? ? ? ? ? ? ? ?2016·5·9 ?黃丹 ?