回覆列表
-
1 # 使用者52510796211
-
2 # 使用者5189701024573
程序是程式的一次執行過程。
一個程式至少有一個程序,一個程序至少有一個執行緒.
執行緒的劃分尺度小於程序,使得多執行緒程式的併發性高。另外,程序在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體,從而極大地提高了程式的執行效率。
執行緒在執行過程中與程序還是有區別的。每個獨立的執行緒有一個程式執行的入口、順序執行序列和程式的出口。
但是執行緒不能夠獨立執行,必須依存在應用程式的程序中,由程序提供多個執行緒執行控制。
執行緒和程序是另一對有意義的概念,主要區別和聯絡如下:程序是作業系統進行資源分配的基本單位,擁有完整的程序空間。進行系統資源分配的時候,除了CPU資源之外,不會給執行緒分配獨立的資源,執行緒所需要的資源需要共享。執行緒是程序的一部分,如果沒有進行顯示的執行緒分配,可以認為程序是單執行緒的;如果程序中建立了執行緒,則可認為系統是多執行緒的。多執行緒和多程序是兩種不同的概念。多執行緒與多程序有不同的資源共享方式。程序有程序控制塊PCB,系統透過PCB對程序進行排程。程序有執行緒控制塊TCP,但TCB所表示的狀態比PCB要少的多。