CPU核心、進程、線程

CPU核心和線程數

CPU個數即CPU芯片個數。

CPU內核

 CPU內核是CPU中間的核心芯片,由單晶硅製成,用來完成所有的計算、接受/存儲命令、處理數據等,是數字處理核心
 核心(Die)又稱爲內核,是CPU最重要的組成部分。CPU中心那塊隆起的芯片就是核心,是由單晶硅以一定的生產工藝製造出來的,CPU所有的計算、接受/存儲命令、處理數據都由核心執行。各種CPU核心都具有固定的邏輯結構,一級緩存、二級緩存、執行單元、指令級單元和總線接口等邏輯單元都會有科學的佈局。
來自百度百科
在這裏插入圖片描述

CPU核心數

 CPU的核心數是指物理上,也就是硬件上存在着幾個核心。比如,雙核就是包括2個相對獨立的CPU核心單元組,四核就包含4個相對獨立的CPU核心單元組。
 現在的電腦都是多核的,使用多線程充分利用CPU來提供程序的執行效率

CPU與線程數

 線程數是一種邏輯上的概念,簡單地說,就是模擬出的CPU核心數。比如,可以通過一個CPU核心數模擬出2線程的CPU,也就是說,這個單核心的CPU被模擬成了一個類似雙核心CPU的功能。
 CPU之所以要增加線程數,是源於多任務處理的需要。線程數越多,越有利於同時運行多個程序,因爲線程數等同於在某個瞬間CPU能同時並行處理的任務數
 對於一個CPU,線程數總是\geqslant核心數的。一個核心最少對應一個線程,但通過超線程技術,一個核心可以對應兩個線程,也就是說它可以同時運行兩個線程。

Intel賽揚G460:單核心,雙線程的CPU
Intel酷睿i3 3220:雙核心,四線程
Intel酷睿i5 4570:四核心,四線程
Intel酷睿i7 4770K:四核心,八線程

CPU的線程數概念僅僅只針對Intel的CPU纔有用,因爲它是通過Intel超線程技術來實現的,最早應用在Pentium4上。如果沒有超線程技術,一個CPU核心對應一個線程。所以,對於AMD的CPU來說,只有核心數的概念,沒有線程數的概念。
Intel給他的x86設計了邏輯線程=2物理核心數,IBM的power8是邏輯線程=8物理核心數

主要參考博客

線程和進程

線程是進程中執行運算的最小單位,是進程中的一個實體,是被系統獨立調度和分派的基本單位,線程自己不擁有系統資源,只擁有一點在運行中必不可少的資源,但它可與同屬一個進程的其它線程共享進程所擁有的全部資源。一個線程可以創建和撤消另一個線程,同一進程中的多個線程之間可以併發執行。
在這裏插入圖片描述

進程

操作系統中正在執行的程序,一個在內存中運行的應用程序。

每個應用程序都有一個自己的進程。

每一個進程啓動時都會最先產生一個主線程。然後主線程會再創建其他的子線程
在這裏插入圖片描述

線程

 線程是一個基本的CPU執行單元。它必須依託於進程存活
 是進程中的一個執行任務(控制單元),負責當前進程中程序的執行。一個進程至少有一個線程,一個進程可以運行多個線程,多個線程可共享數據。
 與進程不同的是:同類的多個線程共享進程的堆和方法區資源,但每個線程有自己的程序計數器、虛擬機棧和本地方法棧。所以,系統在產生一個線程,或是在各個線程之間作切換工作時,負擔要比進程小得多。因此,線程也被稱爲輕量級進程

線程和進程的關係

  • 線程必須在某個進程中執行。
  • 一個進程可包含多個線程,有且只有一個主線程。
  • 多線程共享同一個地址空間、打開的文件、其他資源。
  • 多進程共享物理內存、磁盤、打印機、其他資源。
    在這裏插入圖片描述

線程的類型(留坑)

  • 主線程
  • 子線程
  • 守護線程(後臺線程)
  • 前臺線程

Python多線程(留坑)

GIL 的全稱是 Global Interpreter Lock(全局解釋器鎖),來源是 Python 設計之初的考慮,爲了數據安全所做的決定。某個線程想要執行,必須先拿到 GIL,我們可以把 GIL 看作是“通行證”,並且在一個 Python 進程中,GIL 只有一個。拿不到通行證的線程,就不允許進入 CPU 執行。

由於 GIL 鎖存在,Python 裏一個進程永遠只能同時執行一個線程(拿到 GIL 的線程才能執行),這就是爲什麼在多核CPU上,Python 的多線程效率並不高的根本原因。

參考

https://blog.csdn.net/ThinkWon/article/details/102021274
https://www.jianshu.com/p/a69dec87e646
http://cpu.zol.com.cn/271/2713503.html
https://www.cnblogs.com/kimsimple/p/7787018.html
https://blog.csdn.net/huayushuangfei/article/details/79921638
https://www.cnblogs.com/microfan/p/5294250.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章