99国产精品欲av蜜臀,可以直接免费观看的AV网站,gogogo高清免费完整版,啊灬啊灬啊灬免费毛片

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

CPU 核數(shù)與線程數(shù)有什么關(guān)系?

0
分享至

作為一名美食資淺愛好者,盡管我廚藝拙劣,但依然阻擋不了我對烹飪的熱愛。

那我通常是怎么做菜的呢?

大廚與菜譜

你沒猜錯,做菜之前先去下一份菜譜,照著菜譜一步步來:起鍋燒油、蔥姜蒜末下鍋爆香、倒入切好的食材、大火翻炒、加入適量醬油、加入適量鹽、繼續(xù)翻炒、出鍋嘍!


這樣一道色香味俱佳的小炒大功告成,裝盤端出來拿起筷子一嘗,難吃死了。

火候有點(diǎn)過,醬油加的有點(diǎn)少,鹽加多了,中餐里的“火候”以及“適量”是最為神秘的存在,可以意會不可言傳。因此相對肯德基麥當(dāng)勞之類的標(biāo)準(zhǔn)工業(yè)品,中餐更像是藝術(shù)。每個人炒出來的菜味道都不一樣,顯然嘛,每個人對火候以及適量的理解是不一樣的。

對不起,跑題了。

雖然我廚藝不怎么樣,但輸廚藝不能輸氣場,有時我會幾樣一起來,這邊炒著A菜,那邊炒著B菜。

也就是說,我可以同時按照兩份菜譜去做飯,如果足夠快,那么我可以同時炒 N 樣菜。

炒菜與線程

實(shí)際上CPU和廚師一樣,都是按照菜譜(機(jī)器指令)去執(zhí)行某個動作,從操作系統(tǒng)的角度講當(dāng)CPU切換回用戶態(tài)后,CPU執(zhí)行的一段指令就是線程,或者說屬于某個線程


這和炒菜一樣,我可以按照菜譜抄魚香肉絲,那么炒菜時這就是魚香肉絲線程;我可以按照菜譜抄宮保雞丁,那么炒菜時這就是宮保雞丁線程。

廚師個數(shù)就好比CPU核心數(shù),炒菜的樣數(shù)就好比線程數(shù),這時我問你,你覺得廚師的個數(shù)和可以同時抄幾樣菜有關(guān)系嗎?

答案當(dāng)然是沒有。

CPU的核心數(shù)和線程個數(shù)沒有什么必然的關(guān)系

單個核心上可以跑任意多個線程,只要你的內(nèi)存夠就行;計(jì)算機(jī)系統(tǒng)內(nèi)也可以有任意多核數(shù),只要你有錢就行。

看到這個答案你是不是覺得有點(diǎn)疑惑、有點(diǎn)疑問、有點(diǎn)不明所以,這好像和其它人說的不一樣啊!

別著急,我們慢慢講。

傻傻的CPU

CPU根本不理解自己執(zhí)行的指令屬于哪個線程,CPU也不需要理解這些,CPU需要做的事情就是根據(jù)PC寄存器中的地址從內(nèi)存中取出后執(zhí)行,其它沒了


你看CPU才不管你系統(tǒng)內(nèi)有多少線程。

有多少線程是誰需要來關(guān)心的呢?是操作系統(tǒng)。

線程是操作系統(tǒng)的把戲。

操作系統(tǒng)與多任務(wù)

很久很久以前,計(jì)算機(jī)一次只能執(zhí)行一個任務(wù),你不能像現(xiàn)在這樣在計(jì)算機(jī)上一邊看電影一邊在下小電影,哦,不對,一邊寫代碼,一邊下載資料。

要么你先寫代碼,寫完代碼后再去下資料,要么你先下資料然后再寫代碼,總之,這兩個任務(wù)不能同時進(jìn)行

這顯然很不方便,就這樣,多任務(wù)——Multi-Tasking,誕生了。


你CPU不是只知道執(zhí)行機(jī)器指令嗎?很好,那我操作系統(tǒng)就通過修改你的PC寄存器,讓你CPU執(zhí)行A任務(wù)的機(jī)器指令一段時間,然后下一段時間再去執(zhí)行B任務(wù)的機(jī)器指令,再然后下一個時間段去執(zhí)行C任務(wù)的機(jī)器指令,由于每一段時間非常少,通常在毫秒級別,那么在人類看來A、B、C三個任務(wù)在“同時”運(yùn)行。

這就是多任務(wù)的本質(zhì)。

進(jìn)程與線程

CPU不知道執(zhí)行的某一段機(jī)器指令屬于A任務(wù)還是B任務(wù),只有操作系統(tǒng)知道,同時操作系統(tǒng)還能知道任務(wù)A和B任務(wù)是否屬于同一個地址空間

如果屬于同一個地址空間,那么任務(wù)A和任務(wù)B就是我們熟悉的“多線程”;如果不屬于同一個地址空間,那么任務(wù)A和任務(wù)B就是我們熟悉的“多進(jìn)程”,現(xiàn)在你應(yīng)該明白這兩個概念了吧。


值得注意的是,計(jì)算機(jī)系統(tǒng)還在單核時代就已經(jīng)有多線程的概念了,我們之前說過,即使是單核也可以執(zhí)行多個線程,那么有的同學(xué)可能會有疑問,在單核的系統(tǒng)中開啟多個線程有什么意義嗎?

單核與多線程

假設(shè)現(xiàn)在有兩個任務(wù),任務(wù)A和任務(wù)B,每個任務(wù)需要的計(jì)算時間都是5分鐘,那么無論是任務(wù)A和任務(wù)B串行執(zhí)行還是放到兩個線程中并行執(zhí)行,在單核環(huán)境下執(zhí)行完這兩個任務(wù)總需要10分鐘,因此有的同學(xué)覺得單核下多線程沒什么用。

實(shí)際上,線程這個概念為程序員提供了一種編程抽象,我們可以把一項(xiàng)任務(wù)進(jìn)行劃分,然后把每一個子任務(wù)放到一個個線程中去運(yùn)行。


假如你的程序帶有圖形界面,某個UI元素背后需要的大量運(yùn)算,這時為了防止執(zhí)行該運(yùn)算時UI產(chǎn)生卡頓,那么可以把這個運(yùn)算任務(wù)放到一個單獨(dú)的線程中去。

因此如果你的目的是防止當(dāng)前線程因執(zhí)行某項(xiàng)操作而不得不等待,那么在這樣的應(yīng)用場景下,你根本就不需要關(guān)心系統(tǒng)內(nèi)是單核還是多核以及有多少個核。

阻塞式I/O

這也是使用線程的經(jīng)典場景。

如果沒有線程,那么執(zhí)行阻塞式I/O時整個進(jìn)程會被操作系統(tǒng)暫停,但如果你開啟兩個線程,其中一個線程被阻塞時另一個線程依然可以繼續(xù)向前推進(jìn)。

這樣的話你就不需要去使用反人類的異步IO了。

當(dāng)然,這一切的前提是你的場景不涉及高性能以及高并發(fā),如果涉及的話那這就是另一個話題了。

在這種簡單的場景下,你創(chuàng)建線程時也不需要關(guān)心系統(tǒng)中是單核還是多核。

多核時代

實(shí)際上,線程這個概念是從2003年左右才開始流行的,為什么?因?yàn)檫@一時期,多核時代到來了。


之所以產(chǎn)生多核,是因?yàn)閱魏说男阅芴嵘絹碓嚼щy了。

盡管采用多進(jìn)程也可以充分利用多核,但畢竟多進(jìn)程編程是很繁瑣的,這涉及復(fù)雜的進(jìn)程間通信機(jī)制、進(jìn)程間切換的較高性能損耗、進(jìn)程間內(nèi)存相互隔離帶來的對內(nèi)存消耗等。

線程這個概念很好的解決了上述問題,開始成為多核時代的主角,要想充分利用多核資源,線程是程序員的首選工具。

真正的并行

有了多核后,運(yùn)行在兩個線程中的任務(wù)A和任務(wù)B實(shí)現(xiàn)了真正的并行。

此前這樣一句話廣為引用,這句話是這么說的:

threads are for people who can't program state machines

“線程是為那些不懂狀態(tài)機(jī)的人準(zhǔn)備的”,這句話在單核時代有它的道理,因?yàn)樵趩魏藭r代,所有的任務(wù)都不是在同時向前推進(jìn),而是“交錯”前進(jìn),A前進(jìn)一點(diǎn),然后B前進(jìn)一點(diǎn),線程并不是實(shí)現(xiàn)這種“偽并行”唯一的方法,狀態(tài)機(jī)也可以。


但在多核時代,這句話就不再適用了,對于大多數(shù)程序員來說多進(jìn)程多線程幾乎是充分利用多核資源的唯一方法。

如果你的場景是想充分利用多核,那么這時你的確需要知道系統(tǒng)內(nèi)有多少核數(shù),一般來說你創(chuàng)建的線程數(shù)需要與核數(shù)保持線性關(guān)系。

也就是說,如果你的核數(shù)翻倍,那么創(chuàng)建的線程數(shù)也要翻倍。

需要多少線程?

值得注意的是,線程不是越多越好。

如果你的線程是不涉及任何I/O、沒有任何同步互斥之類的純計(jì)算類型,那么每個核心一個線程通常是最佳選擇。但通常來說,線程都需要一定的I/O,可能需要一定的同步互斥,那么這時適當(dāng)增加線程可能會提高性能,但當(dāng)線程數(shù)量到達(dá)一個臨界值后性能開始下降,這時線程間切換的開銷將顯著增加。

這里之所以用適當(dāng)這個詞,是因?yàn)檫@很難去量化,只能用你實(shí)際的程序根據(jù)真正的場景進(jìn)行測試才能得到這個值

總結(jié)

線程數(shù)和CPU核心數(shù)可以沒有任何關(guān)聯(lián),如果在使用線程時僅僅針對上述提到的幾個簡單場景,那么你根本不需要關(guān)心CPU是單核還是多核。

但當(dāng)你需要利用線程充分發(fā)揮多核威力時,通常情況下你創(chuàng)建的線程數(shù)與核數(shù)要保持一種線性關(guān)系,最佳系數(shù)通常需要測試才能得到。

希望這篇文章對大家理解多核以及多線程有所幫助。

作者:小風(fēng)哥

來源:碼農(nóng)的荒島求生

編輯:小咕咕

轉(zhuǎn)載內(nèi)容僅代表作者觀點(diǎn)

不代表中科院物理所立場

如需轉(zhuǎn)載請聯(lián)系原公眾號

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
突發(fā)!旺仔小喬道歉,接受所有批評,掉粉63萬害怕,網(wǎng)友一針見血

突發(fā)!旺仔小喬道歉,接受所有批評,掉粉63萬害怕,網(wǎng)友一針見血

小椰的奶奶
2025-07-27 06:34:06
比美日協(xié)議更復(fù)雜!美歐領(lǐng)導(dǎo)人蘇格蘭會晤,貿(mào)易談判將進(jìn)入“沖刺時刻”

比美日協(xié)議更復(fù)雜!美歐領(lǐng)導(dǎo)人蘇格蘭會晤,貿(mào)易談判將進(jìn)入“沖刺時刻”

第一財(cái)經(jīng)資訊
2025-07-27 17:31:27
廣東新晉理科狀元王一任,成績打平歷史記錄,全身散發(fā)亮點(diǎn)

廣東新晉理科狀元王一任,成績打平歷史記錄,全身散發(fā)亮點(diǎn)

朗威談星座
2025-07-27 10:44:59
中美日激光武器射程對比:美國8000米,日本1200米,中國是多少?

中美日激光武器射程對比:美國8000米,日本1200米,中國是多少?

壹知眠羊
2025-07-24 07:36:19
下賽季去向?美媒:威少尋求的不只是一份薪水,他渴望證明自己的價值

下賽季去向?美媒:威少尋求的不只是一份薪水,他渴望證明自己的價值

雷速體育
2025-07-27 11:01:15
終于要降溫了,立秋過后成都在無37℃以上高溫,今年太涼爽了。

終于要降溫了,立秋過后成都在無37℃以上高溫,今年太涼爽了。

樓市味道
2025-07-26 17:50:53
鬧大了!張碧晨再次強(qiáng)調(diào)想唱就唱,汪蘇瀧沒權(quán)利管,評論區(qū)淪陷!

鬧大了!張碧晨再次強(qiáng)調(diào)想唱就唱,汪蘇瀧沒權(quán)利管,評論區(qū)淪陷!

小嵩
2025-07-26 07:49:57
保時捷911現(xiàn)車一天賣光!消費(fèi)稅新政攪動豪車市場

保時捷911現(xiàn)車一天賣光!消費(fèi)稅新政攪動豪車市場

國際金融報
2025-07-25 20:33:25
2-3,62歲穆帥率隊(duì)遭歐冠2冠王絕殺,第81分鐘丟球釀苦果

2-3,62歲穆帥率隊(duì)遭歐冠2冠王絕殺,第81分鐘丟球釀苦果

側(cè)身凌空斬
2025-07-27 05:04:46
跌幅超60%!單價從6500至2500,惠州一樓盤讓投資客欲哭無淚

跌幅超60%!單價從6500至2500,惠州一樓盤讓投資客欲哭無淚

火山詩話
2025-07-26 17:28:16
聽起來難以置信,但卻真實(shí)發(fā)生過的15個歷史事件!

聽起來難以置信,但卻真實(shí)發(fā)生過的15個歷史事件!

墨羽怪談
2025-07-06 10:05:14
一天殲滅1180名烏軍!俄40次沖鋒攻入紅軍城,39歲烏總理豪賭國運(yùn)

一天殲滅1180名烏軍!俄40次沖鋒攻入紅軍城,39歲烏總理豪賭國運(yùn)

文雅筆墨
2025-07-27 16:50:49
島內(nèi)民意狠狠打臉民進(jìn)黨當(dāng)局!大陸學(xué)者:賴清德將陷內(nèi)外交困窘境

島內(nèi)民意狠狠打臉民進(jìn)黨當(dāng)局!大陸學(xué)者:賴清德將陷內(nèi)外交困窘境

海峽導(dǎo)報社
2025-07-27 00:13:22
作繭自縛!北京一大爺飯店慶生,讓經(jīng)理上最貴的酒菜,結(jié)賬時愣了

作繭自縛!北京一大爺飯店慶生,讓經(jīng)理上最貴的酒菜,結(jié)賬時愣了

濤哥美食匯
2025-07-27 13:35:44
網(wǎng)傳釋永信被帶走調(diào)查,都是信托惹的禍?

網(wǎng)傳釋永信被帶走調(diào)查,都是信托惹的禍?

月滿大江流
2025-07-27 15:50:47
顛覆地球秩序:塔里木盆地變成超里海的內(nèi)陸湖

顛覆地球秩序:塔里木盆地變成超里海的內(nèi)陸湖

三農(nóng)老歷
2025-07-27 12:39:32
賈靜雯沒想到,當(dāng)年賠2600萬爭回的女兒,如今用50億遺產(chǎn)替她爭光

賈靜雯沒想到,當(dāng)年賠2600萬爭回的女兒,如今用50億遺產(chǎn)替她爭光

小丸子的娛樂圈
2025-07-25 08:45:03
托莫里:雖然是熱身賽,但擊敗英超冠軍利物浦依然意義重大

托莫里:雖然是熱身賽,但擊敗英超冠軍利物浦依然意義重大

懂球帝
2025-07-27 18:02:14
我工資10000,被新領(lǐng)導(dǎo)下調(diào)到4000,我請假一周旅游,不回工作消息,然后公司損失300萬訂單

我工資10000,被新領(lǐng)導(dǎo)下調(diào)到4000,我請假一周旅游,不回工作消息,然后公司損失300萬訂單

黎兜兜
2025-07-26 21:23:49
孩子內(nèi)驅(qū)力全無才懂:廢掉學(xué)習(xí)不是手機(jī)和懶,而是父母超強(qiáng)外驅(qū)力

孩子內(nèi)驅(qū)力全無才懂:廢掉學(xué)習(xí)不是手機(jī)和懶,而是父母超強(qiáng)外驅(qū)力

百合家庭教育
2025-07-24 18:07:31
2025-07-27 18:44:49
中科院物理所 incentive-icons
中科院物理所
愛上物理,改變世界。
9215文章數(shù) 136263關(guān)注度
往期回顧 全部

頭條要聞

多位考生因被"廈大馬來分校"誤錄準(zhǔn)備復(fù)讀 考試院回應(yīng)

頭條要聞

多位考生因被"廈大馬來分校"誤錄準(zhǔn)備復(fù)讀 考試院回應(yīng)

體育要聞

約克雷斯身邊的男人,才是阿森納的最佳引援

娛樂要聞

X玖少年團(tuán)9成員現(xiàn)狀揭秘:2人成頂流

財(cái)經(jīng)要聞

陳文輝:為什么耐心資本這么重要?

科技要聞

WAIC探館:人形機(jī)器人在打 大模型廠商在卷

汽車要聞

搭載華為乾崑智駕 一汽奧迪Q6L e-tron預(yù)售35.3萬起

態(tài)度原創(chuàng)

房產(chǎn)
游戲
親子
手機(jī)
軍事航空

房產(chǎn)要聞

分?jǐn)?shù)線集體飆漲!海中867分!2025海南中招格局大變!

"明末追加優(yōu)化和補(bǔ)償計(jì)劃"登熱搜!玩家:希望能挺過去

親子要聞

30天很短,短到還沒看夠你每一次呼吸的起伏;30天又很長,長到足

手機(jī)要聞

三星Exynos 2600可能提供比驍龍 8 Elite更好的GPU性能

軍事要聞

官方披露:山東艦5年起降近萬架次艦載機(jī)

無障礙瀏覽 進(jìn)入關(guān)懷版 主站蜘蛛池模板: 清丰县| 孟村| 华蓥市| 滕州市| 台南县| 措勤县| 建水县| 赤城县| 银川市| 麻江县| 隆化县| 丹巴县| 台北市| 博爱县| 东丽区| 收藏| 克山县| 城口县| 鄂温| 贵南县| 华亭县| 工布江达县| 外汇| 滕州市| 义马市| 舟山市| 丹阳市| 广平县| 海盐县| 右玉县| 浪卡子县| 荔浦县| 海门市| 和平区| 巴中市| 龙岩市| 陕西省| 天全县| 任丘市| 民权县| 清河县|