1. 程式人生 > >一次性區分執行緒與程序在程式執行中的關係

一次性區分執行緒與程序在程式執行中的關係

一直不能區分執行緒是CPU排程和分配的基本單位,程序是作業系統進行資源分配的最小單位的關係,下面這段話是從一片博文中摘抄的,讓我幾周以來的模糊認識一下子清晰起來,希望對大家理解有幫助,原博文地址在前一篇文章中已貼出,好文章讀起來真是受益匪淺,原文如下:

 執行緒是CPU排程和分配的基本單位,一定要和 程序是作業系統進行資源分配(包括cpu、記憶體、磁碟IO等)的最小單位 區別清楚。有句話說CPU只能看到執行緒,可以這麼理解,假設我是CPU,我閉著眼,作業系統排程器將一個程序分配給我之後,我拿到程序睜開眼,我看到的是什麼?我看到的是程序中的很多執行緒,那麼我現在能排程和分配的是什麼?程序?不行,因為我看不到其他程序,何來排程分配,只能排程我看到的那些執行緒,如果我是4核的話,把執行緒ABCD分配到核心1234,其他的執行緒依然要等待分配,至於等待多久,如何分配,暫不在本文討論範圍。於是執行緒是CPU排程和分配的基本單位。