python併發程式設計 多執行緒 執行緒理論

2022-09-05 21:12:20 字數 819 閱讀 4503

一 什麼是執行緒

在傳統作業系統中,每個程序有乙個位址空間,而且預設就有乙個控制線程

執行緒顧名思義,就是一條流水線工作的過程(流水線的工作需要電源,電源就相當於cpu),而一條流水線必須屬於乙個車間,乙個車間的工作過程是乙個程序,車間負責把資源整合到一起,是乙個資源單位,而乙個車間內至少有一條流水線。

所以,程序只是用來把資源集中到一起(程序只是乙個資源單位,或者說資源集合),而執行緒才是cpu上的執行單位。

多新村(即多個控制線程)的概念時:在乙個程序中存在多個執行緒,多個執行緒共享該程序的位址空間,相當於乙個車間內有多條流水線,都共用乙個車間的資源。例如:深圳地鐵和廣州地鐵是不同的程序,而深圳地鐵裡的2號線是乙個執行緒,深圳地鐵所有的線路共享深圳地鐵所有的資源,比如所有的乘客可以被所有線路拉。

二 執行緒和程序的區別

1、同乙個程序內的多個執行緒共享改程序內的位址資源

2、建立執行緒的開銷遠小於程序的開銷(建立乙個程序,就是建立乙個車間,涉及到申請空間,而且該空間內至少一條流水線,但建立執行緒,就只是乙個車間內造一條流水線,無需申請空間,所以建立開銷小)

三 多執行緒應用舉例

開啟乙個字處理軟體程序,該程序肯定需要辦不止一件事情,比如監聽鍵盤輸入,處理文字,定時自動將文字儲存到硬碟,這三個任務操作的都是同一塊資料,因而不能用多程序。只能在乙個程序裡併發地開啟三個執行緒,如果是單執行緒,那就只能是,鍵盤輸入時,不能處理文字和自動儲存,自動儲存時又不能輸入和處理文字。

多執行緒併發程式設計

docker 可謂是開啟了容器化技術的新時代,現在無論大中小公司基本上都對容器化技術有不同程度的嘗試,或是已經進行了大量容器化的改造。伴隨著 kubernetes 和 cloud native 等技術和理念的普及,也大大增加了業務容器化需求。而這一切的推進,不可避免的技術之一便是構建容器映象。在本場...

多執行緒併發程式設計

程序是乙個執行的程式,程序裡面有多個執行緒,執行緒是程序中負責執行的程式的一執行單元,執行緒本身是依靠程式進行執行的,執行緒是程式中乙個順序控制流。執行緒分為單執行緒和多執行緒。多執行緒能更好利用cpu資源。以前單程序的,時間片切換 多執行緒實現方式 繼承thread,實現runnable。exec...

併發程式設計 多執行緒

目錄程序是作業系統可以排程已經進行資源分配的基本單位,是乙個資源單位,其中包含了執行這個程式所需的資源 特點 系統會為每乙個程序自動建立一條執行緒,稱之為主線程,後續通過 開啟的執行緒稱之為子執行緒 計算機是乙個工廠,程序就是乙個車間,執行緒就是車間內的流水線 item 程序執行緒 單位資源單位 執...