單執行緒和多執行緒 程序

2021-10-06 03:07:44 字數 745 閱讀 7286

單執行緒處理是指該程式只能執行這乙個執行緒。

多執行緒處理是指該程式可以同時執行多個執行緒。

使用多執行緒可以大大提高效能。

2.1 什麼是程序

乙個程序就是乙個程式執行的例項。當乙個程式執行時,作業系統會給程式建立一塊記憶體,用來儲存**、執行中的資料、乙個執行任務的主線程。這樣的乙個執行環境叫做程序。

2.2 程序vs執行緒

執行緒是不能單獨存在的,它是由程序進行啟動和管理的。

程序和執行緒之間有4點關係

3.1 程序中的任意乙個執行緒出現錯誤,會導致整個程序崩潰

當程序中的乙個執行緒出現執行錯誤時,會導致整個程序的奔潰,其他執行緒的執行結果也會沒了。

3.2 各個執行緒之間可以共享本程序的資料

執行緒之間可以對公共的資料進行讀取和儲存的操作

3.3 當程序結束時,作業系統會**程序所占用的記憶體

當乙個程序結束時,作業系統會**該程序所申請的所有資源,即使是因為某些操作不當導致記憶體溢位,那些溢位的記憶體也會被正確**。

比如之前的 ie 瀏覽器,支援很多外掛程式,而這些外掛程式很容易導致記憶體洩漏,這意味著只要瀏覽器開著,記憶體占用就有可能會越來越多,但是當關閉瀏覽器程序時,這些記憶體就都會被系統**掉。

3.4 各個程序之間的內容互相隔離

程序隔離是為了保護作業系統中的各個程序互不干擾,每乙個程序只能訪問自己的占有資料,正如程序a的資料不會寫入到程序b的資料。正因如此,當程序a崩潰時,不會影響到程序b、程序c等其他程序的執行。如果程序之間需要互相通訊,那就需要ipc了。

程序 單執行緒 多執行緒

文章出處 程序 乙個正在執行的程式可以看做乙個程序,例如 正在執行的qq就是乙個程序 程序擁有獨立執行所需要的全部資源 執行緒 程式中獨立執行的 段。例如 接收qq訊息的 乙個程序是由一或多個執行緒組成,程序只負責資源的排程和分配,執行緒才是程式真正的執行單元,負責 的執行。單執行緒每個正在執行的程...

單執行緒和多執行緒

what 1.程序 當乙個程式開始執行時,它就是乙個程序,程序包括執行中的程式和程式所使用到的記憶體和系統資源。2.執行緒 執行緒就是程式中的乙個執行流,每個執行緒都有自己的專有暫存器 棧指標 程式計數器等 但 是可以共享的,即不同的執行緒可以執行相同的函式。3.多執行緒 多執行緒是指程式中包含多個...

單執行緒和多執行緒

普通的程式預設都是單執行緒,程式的執行方式是從上至下序列執行,示例 import time deffunc a,b time.sleep 1 print a b s time.time func 5,10 func 2,5 func 6,84 func 9,46 e time.time print ...