多執行緒併發程式設計

2022-07-16 04:15:13 字數 501 閱讀 7497

程序是乙個執行的程式,程序裡面有多個執行緒,執行緒是程序中負責執行的程式的一執行單元,執行緒本身是依靠程式進行執行的,執行緒是程式中乙個順序控制流。

執行緒分為單執行緒和多執行緒。 多執行緒能更好利用cpu資源。

以前單程序的,時間片切換

多執行緒實現方式: 繼承thread,實現runnable。

executorservice

callablefuture 帶返回值的多執行緒,方法執行完給乙個返回值。

初始狀態 -- 可執行狀態 -- 執行中 -- 結束

執行中通過yield或時間片輪詢變成可執行狀態

執行中 通過synchronized變成鎖定狀態

執行中通過wait 進入等待佇列

等待佇列通過notify notifyall wait時間執行完 等喚醒乙個鎖定狀態的執行緒,拿到鎖的標記,進入可執行狀態

執行中通過sleep,join讓當前程序進入阻塞狀態

阻塞狀態通過sleep結束,join執行緒執行完變成可執行狀態

多執行緒併發程式設計

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

併發程式設計 多執行緒

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

boost併發程式設計 多執行緒

原子操作,基本都包含我們三個方面所關心的語義 操作本身是不可分割的 atomicity 乙個執行緒對某個資料的操作何時對另外乙個執行緒可見 visibility 執行的順序是否可以被重排 ordering include include include using namespace std usi...