1. 程式人生 > >python 學習第二十二天(程序和執行緒)

python 學習第二十二天(程序和執行緒)

程序

程序就是一個程式在一個數據集上的一次動態執行過程。
程序一般由程式、資料集、程序控制塊三部分組成。
我們編寫的程式用來描述程序要完成哪些功能以及如何完成;
資料集則是程式在執行過程中所需要使用的資源;
程序控制塊用來記錄程序的外部特徵,描述程序的執行變化過程,系統可以利用它來控制和管理程序,它是系統感知程序存在的唯一標誌。

執行緒

執行緒也叫輕量級程序,它是一個基本的CPU執行單元,也是程式執行過程中的最小單元,由執行緒ID、程式計數器、暫存器集合和堆疊共同組成。執行緒的引入減小了程式併發執行時的開銷,提高了作業系統的併發效能。執行緒沒有自己的系統資源。

關係和區別

1 一個程式至少有一個程序,一個程序至少有一個執行緒.(程序可以理解成執行緒的容器)

2 程序在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體,從而極大地提高了程式的執行效率。

3 執行緒在執行過程中與程序還是有區別的。每個獨立的執行緒有一個程式執行的入口、順序執行序列和程式的出口。但是執行緒不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制。

4 程序是具有一定獨立功能的程式關於某個資料集合上的一次執行活動,程序是系統進行資源分配和排程的一個獨立單位. 執行緒是程序的一個實體,是CPU排程和分派的基本單位,它是比程序更小的能獨立執行的基本單位.執行緒自己基本上不擁有系統資源,只擁有一點在執行中必不可少的資源(如程式計數器,一組暫存器和棧)但是它可與同屬一個程序的其他的執行緒共享程序所擁有的全部資源.一個執行緒可以建立和撤銷另一個執行緒;同一個程序中的多個執行緒之間可以併發執行.