1樓:匿名使用者
只看了一篇文章是這麼比喻的
沒有執行緒的多核cpu 就像是 多個人在一個桌子上吃飯,有時候出現爭搶的情況 會降低效率。
有多執行緒的多核cpu 就像是多個人在多個桌子上吃飯,都吃自己桌子上的菜 效率就很高很多。
一般情況下每個核心都有一個執行緒,幾核心就有幾執行緒,但是intel發明了超執行緒技術,可以讓單核模擬多核心工作,intel的超執行緒可以讓單核心具有兩個執行緒,雙核四執行緒、四核八執行緒、六合十二執行緒。超執行緒技術能夠讓cpu效能大幅提升,效率更高。所以intel的雙核四執行緒處理器能夠和amd的四核比,四核可與八核比,但超執行緒只是模擬多核並不是真多核,所以還是有差距的,不過基於amd技術上的落後所以intel擁有超執行緒的處理器雖然核心少但效能卻更強
2樓:ever非你不愛
一般來說,cpu的 執行緒 數跟cpu的 核心 數一致。但是部分技術如超執行緒技術會讓一個物理核心模擬成邏輯核心,用較少的晶片面積代價換取更強的多工處理能力。
cpu時間分片與多執行緒是不是一個意思?多執行緒跟多核有關係嗎?
3樓:
原則上只要執行緒數不多
於cpu核心數,會把各個執行緒都分配一個核心,不需分片,而當執行緒數多於cpu核心數時才會分片。事實上目前的計算機系統正常情況下執行緒數都是遠遠多於cpu核心數的,所以一般都要分片,以允許所有執行緒併發執行。
多核 多cpu 多程序 多執行緒的關係
程式單一化時可以這麼理解,但現在一般是基於作業系統的,所以作業系統會按其設計優化規則去盡力合理排程和分配硬體資源,但是碰到頻繁的跳轉其效率仍然會降低,這裡cpu的快取越大就越能掩蓋這些非優設計。而程式本身如果按多核模式設計的則效率更高,所以表現出來老的程式在新硬體上執行仍然有提高,而針對多核優化設計...
c多執行緒建立的幾種方式,c多執行緒同時執行兩個函式該怎樣程式設計啊
直接使用作業系統api 使用標準c 執行緒支援庫 可跨平臺 使用第三方執行緒庫 如何在windows系統上用c 建立多執行緒 waitformultipleobject sizeof hthreads hthreads,false,infinite,false 執行緒資源釋放 closehandle...
linu和windows多執行緒的異同
linux多執行緒及執行緒同步和windows的多執行緒之間的異同 並不是所有的程式都必須採用多執行緒,有時候採用多執行緒效能還不如單執行緒。採用多執行緒的好處如下 1 多執行緒之間採用相同的地址空間,共享大部分的資料,和多程序相比,代價比較節儉,而啟動新的程序必須分配給它獨立的地址空間,需要資料表...