程序執行緒 自己的總結(先寫一部分,隨後再補充)

2021-05-24 07:29:40 字數 598 閱讀 3406

個人揣測,剛開始,人們寫完程式,要進行除錯。除錯的過程中,程式在人的思維中不是死的,而是運動著的。於是慢慢有了程序的概念。所謂程序,說白了就是正在執行中的程式相關的一些內涵外延等。程式要執行,一般要把可執行的**載入進記憶體,然後跳到這段程式的起始位址執行。

起初階段,可能只有乙個程序被執行,之後隨著多工的發展需求,出現了多程序,於是有了程序排程,有了所謂的上下文切換。

先粘上牛哥這段話:

「最初的程序定義都包含程式、資源及其執行三部分,其中程式通常指**,資源在作業系統層面上通常包括記憶體資源、io資源、訊號處理等部分,而程式的執行通常理解為執行上下文,包括對cpu的占用,後來發展為執行緒。」

隨著進一步發展,人們發現,程序切換的時候,不一定所有東西都必須「重新開始」,比如上面提到的的資源部分--記憶體、i/o、訊號處理等。也就是說,在完成同樣的多工的情況下,可以減小上下文開銷,從而提高效率。於是世界上有了執行緒的概念。執行緒變成了排程的基本單位,而程序變成了資源分配的單位。到這裡,我才真正的明白了別人提的問題的原因所在。

「自己解釋不清楚的問題,八成是自己根本沒有整明白啊。」

明天看有沒有時間把linux執行緒的實現,核心中的do_fork等程序相關部分學習一下。將這篇自己的總結完善之。

Laravel 一部分總結

1.使用命令自動建立model層 進入所在目錄 php artisan make model test 2增刪改查 toarray 將資料變成陣列 public functionusertest 增 預設有兩個字段,可以在model層關閉,或者在表中新增 public timestamps fals...

物件導向一部分總結

1.靜態變數 加 static 屬於類,程式執行時,就分配空間,常用作常量,使用類就可以呼叫。2.例項變數 不加 static 屬於物件,在例項化 new 時,分配空間。3.區域性變數 在函式內的變數 屬於某個 塊 函式 在呼叫呼叫這個函式時,分配空間。後期靜態繫結 class a public s...

測試只是一部分

對於很多測試人員來說,測試相關的內容是工作的全部,這是我們的視角。但是換個角度也許就不是這樣。首先我們工作的地方大部分是商業組織,是某個公司,開發某類產品或者提供某類服務,也就是business。所以從組織的層級往上看,到了一定的級別,其實看到的是業務 產品等東西,當然他們也關心我們技術和競爭對手的...