01 基礎知識

2022-04-20 01:18:48 字數 1101 閱讀 1446

【程序概念】

作業系統中所有執行中的任務通常是乙個程式,每個執行中的程式就是乙個程序(process),

當乙個程式執行時,內部可能包含了多個順序執行流,每個順序執行流就是乙個執行緒。

程序是處於執行過程中的程式,並且具有一定的獨立功能,程序是系統進行資源分配和排程的乙個獨立單位。

【程序三個特性】

2.動態性:程序與程式的區別在於,程式是乙個靜態的指令集合,而程序是乙個正在系統中活動的指令集合。在程序中加入了時間的概念,程序具有自己的生命週期和各種不同的執行狀態,這些概念是程式所不具有的。

3.併發性:多個程序可以在單個處理器上併發執行,多個程序之間不會相互影響。

【併發性(concurrency)和並行性(parallel)】

並行:指在同乙個時刻,有多條指令在多個處理器上同時執行。

併發:在同乙個時刻,只能有一條指令執行,但多個程序指令被快速輪換執行,使得在巨集觀上會有多個程序同時執行的效果。

【執行緒】

執行緒也被稱作 輕量級程序(lightweight  proess),執行緒是程序的執行單元。

執行緒在程式中是獨立的、併發的執行流。

當程序被初始化後,主線程就被建立了。

【執行緒的特點】

1.執行緒是程序的組成部分。乙個程式執行後至少有乙個程序,乙個程序可以擁有多個執行緒(至少有乙個執行緒),乙個執行緒必須擁有乙個父程序。

2.執行緒擁可以有自己的堆疊、自己的程式計數器、自己的區域性變數,但是不擁有系統資源,它與父程序的其他執行緒共享該程序的全部資源。(注意:由於多個執行緒共享父程序的裡的全部資源,要注意確保執行緒不會妨礙同一程序的其它執行緒)

3.執行緒的執行是搶占式的,即當前執行的執行緒有可能被掛起,以便另外乙個執行緒執行。

4.乙個執行緒可以建立和撤銷另乙個執行緒,同乙個程序中的執行緒是併發執行的。

【多執行緒對比多程序的優勢】

1.執行緒之間共享記憶體非常容易,但程序之間不能共享記憶體。執行緒在程式中是獨立的、併發的執行流,與分隔的程序相比,乙個程序的多個執行緒之間的隔離程度小,他們共享記憶體、程序的共有資料、檔案控制代碼和其它的程序的狀態。

2.系統建立程序時,需要為程序分配獨立的記憶體空間和許多相關的系統資源,但建立執行緒簡單的多,使用多執行緒實現併發多工效率高於多程序。

01 基礎知識

1 計算機基礎 cpu 相當於人的大腦,用於計算。記憶體 儲存資料,4g,8g,16g,32g,成本高,斷電即消失。硬碟 1t,固態硬碟,機械硬碟,儲存資料,應該長久保持資料,重要檔案,小電影等等。2 編譯型語言和解釋型語言區別 編譯型 一次性將所有程式編譯成二進位制檔案。缺點 開發效率低,不能跨平...

彙編01 基礎知識

教材 80x86組合語言程式設計教程 楊季文 錢培德等編著 清華大學出版社 第一章 基礎知識 掌握的兩個要點 一是各進製的轉換,而是資料 非資料的表示和資料的型別 一 各進製的轉換 1 二進位制數和十六進製制數 在計算機裡,通常用數字後面跟乙個英文本母表示該數的數字 十進位制數一般用d,二進位制數用...

Python 基礎知識01

程式設計三個基礎元素 資料型別 基本資料型別 字串str 數字int float 布林bool 複數complex 組合資料型別 列表list 集合set 元組tuple 字典dict 引用資料型別 物件導向 資料型別轉換 數字 字串 str 字串 整數 int 字串 浮點數 float 布林 字串...