「執行緒」是程式執行時期指令流的最小單位。進程是指一個具有一定獨立功能的程序,而執行緒是進程的一部分,描述指令流執行狀態;執行緒是進程中的指令執行流的最小單位,是CPU調度的基本單位。一個執行緒是一個任務(一個程式段)的一次執行過程;執行緒不佔有記憶體空間,它包括在一個行程的記憶體空間中。在同一個行程內,多個執行緒共享行程的資源;一個行程至少有一個執行緒。
本教學操作環境:windows7系統、Dell G3電腦。
「執行緒」是程式執行時期指令流的最小單位。
進程是指一個具有一定獨立功能的程序,在一個資料集合上的一次動態執行過程。而執行緒是行程的一部分,描述指令流執行狀態。它是進程中的指令執行流的最小單位,是CPU調度的基本單位。
執行緒(Thread):輕量級進程,是作業系統進行調度的最小單位。一個執行緒是一個任務(一個程式段)的一次執行過程。執行緒不佔有記憶體空間,它包括在進程的記憶體空間中。在同一個行程內,多個執行緒共享行程的資源。一個行程至少有一個執行緒。
狀態
作業系統建立執行緒時,執行緒處於創建態,CPU調度執行緒時,執行緒處於運行態,此時其它已建立的或時間片到的執行緒就處於就緒態,當然還有些執行緒在進行磁碟、網路等IO時就處於阻塞態,作業系統銷毀執行緒時,執行緒就處於終止態。另外,線程還具有靜止就緒態和靜止阻塞態,處於這兩種狀態,表示這個線程被操作系統掛起了,操作系統掛起線程,是為了觀察和分析線程狀態。
特點
在多線程OS中,通常是在一個行程中包含多個線程,每個線程都是作為利用CPU的基本單位,是花費最小開銷的實體。線程具有以下屬性。
1)、輕量實體
執行緒中的實體基本上不擁有系統資源,只是有一點必不可少的、能保證獨立運作的資源。
執行緒的實體包括程式、資料和TCB。執行緒是動態概念,它的動態特性由執行緒控制區塊TCB(Thread Control Block)來描述。
2)、獨立調度和分派的基本單位。
在多執行緒OS中,執行緒是能獨立運作的基本單位,因而也是獨立調度和分派的基本單位。由於線程很“輕”,故線程的切換非常迅速且開銷小(在同一進程中的)。
3)、可並發執行。
在一個行程中的多個執行緒之間,可以並發執行,甚至允許在一個行程中所有執行緒都能並發執行;同樣,不同行程中的執行緒也能並發執行,充分利用和發揮了處理機與週邊設備並行工作的能力。
4)、共享進程資源。
在同一進程中的各個線程,都可以共享該進程所擁有的資源,這首先表現在:所有線程都具有相同的位址空間(進程的位址空間),這意味著,線程可以存取該位址空間的每一個虛擬位址;此外,還可以存取進程所擁有的已開啟檔案、定時器、信號量機構等。由於同一個進程內的線程共享記憶體和文件,所以線程之間互相通信不必調用內核。
更多相關知識,請造訪常見問題欄位!
以上是什麼是程式運行時指令流的最小單位的詳細內容。更多資訊請關注PHP中文網其他相關文章!