單CPU多核 和 多CPU多核

CPU的核心和線程數(shù)是沒(méi)有關(guān)系的。

支持超線程技術(shù)的CPU,單個(gè)核心可以同時(shí)并發(fā)兩個(gè)線程進(jìn)行協(xié)同工作,相比單線程效率更高,但也達(dá)不到想象中性能翻倍的效果。

而不支持超線程技術(shù)的CPU,一個(gè)核心就只能以一個(gè)線程進(jìn)行運(yùn)算。

因?yàn)檫@個(gè)原因,現(xiàn)在有些人喜歡把支持超線程CPU的核心乘以2后進(jìn)行比較,比如把支持超線程的雙核CPU和四核進(jìn)行比較,也就出現(xiàn)了真四核和偽四核的說(shuō)法。

---------------------------------------------------------------------------------------------------------------------------------------------------

現(xiàn)代的體系,一般 CPU 會(huì)有多個(gè)核心,而多個(gè)核心可以同時(shí)運(yùn)行多個(gè)不同的線程或者進(jìn)程。

當(dāng)每個(gè) CPU 核心運(yùn)行一個(gè)進(jìn)程的時(shí)候,由于每個(gè)進(jìn)程的資源都獨(dú)立,所以 CPU 核心之間切換的時(shí)候無(wú)需考慮上下文。

當(dāng)每個(gè) CPU 核心運(yùn)行一個(gè)線程的時(shí)候,由于每個(gè)線程需要共享資源,所以這些資源必須從 CPU 的一個(gè)核心被復(fù)制到另外一個(gè)核心,才能繼續(xù)運(yùn)算,這占用了額外的開(kāi)銷。換句話說(shuō),在 CPU 為多核的情況下,多線程在性能上不如多進(jìn)程。

因而,當(dāng)前面向多核的服務(wù)器端編程中,需要習(xí)慣多進(jìn)程而非多線程

多核CPU具有多個(gè)完整的計(jì)算單元,在運(yùn)行多線程程序的時(shí)候,多個(gè)核心的運(yùn)行情況可以參考單個(gè)核心的運(yùn)行情況,來(lái)看待線程的運(yùn)行,換入,換出,阻塞,資源競(jìng)爭(zhēng)等問(wèn)題。

----------------------------------------------------------------------------------------------------------------------------------------------------

對(duì)于多核CPU就要考慮線程之間的資源競(jìng)爭(zhēng)和線程之間的隔離性,數(shù)據(jù)的一致性等問(wèn)題,做好并發(fā)控制。

----------------------------------------------------------------------------------------------------------------------------------------------------

單處理機(jī) 和 多處理機(jī) 在運(yùn)行多線程的時(shí)候的情形可以類比,都會(huì)出現(xiàn) 丟失修改,臟讀,不可重復(fù)讀 等情形,只要處理好這三種情況即可,不必繼續(xù)深究了,操作系統(tǒng),硬件什么的水太深了。咱們往高級(jí)程序設(shè)計(jì)方向去吧。不要把精力浪費(fèi)在這些事情上了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 又來(lái)到了一個(gè)老生常談的問(wèn)題,應(yīng)用層軟件開(kāi)發(fā)的程序員要不要了解和深入學(xué)習(xí)操作系統(tǒng)呢? 今天就這個(gè)問(wèn)題開(kāi)始,來(lái)談?wù)劜?..
    tangsl閱讀 4,317評(píng)論 0 23
  • Object C中創(chuàng)建線程的方法是什么?如果在主線程中執(zhí)行代碼,方法是什么?如果想延時(shí)執(zhí)行代碼、方法又是什么? 1...
    AlanGe閱讀 1,916評(píng)論 0 17
  • 唐鶴升 您安靜地走了 溫婉善良的江南女子 著一襲浸染滄桑的旗袍 坦然自若地?fù)]手 消失在偌大的天地間 塵緣已了 此生...
    唐鶴升閱讀 669評(píng)論 0 3
  • 電視劇看完了,腦子卻是空空的,剛開(kāi)始看時(shí)心緒的波濤洶涌,想法的天馬行空,思想的波瀾壯闊,都不復(fù)存在。腦子里沒(méi)...
    蕃木閱讀 635評(píng)論 0 3
  • 縱觀整個(gè)產(chǎn)業(yè),我們可以將這個(gè)互聯(lián)網(wǎng)教育產(chǎn)業(yè)按兩個(gè)維度切分:興趣/職業(yè)、B2C/C2C。從興趣出發(fā)的產(chǎn)品,更多和C2...
    梅晨斐閱讀 1,140評(píng)論 1 3

友情鏈接更多精彩內(nèi)容