3 併發程式設計

2022-06-16 02:42:11 字數 4070 閱讀 9624

程序:程序指的就是程式執行的過程,是乙個動態的概念

程式:程式就是一系列的**檔案,是乙個靜態的概念

程序也可以說成是作業系統幹活的過程,就是作業系統控制硬體來執行應用程式的過程

程序是作業系統最核心的概念,研究進行就是在研究作業系統

#一 作業系統的作用:

1:隱藏醜陋複雜的硬體介面,提供良好的抽象介面

2:管理、排程程序,並且將多個程序對硬體的競爭變得有序

#二 多道技術:

1.產生背景:針對單核,實現併發

ps:現在的主機一般是多核,那麼每個核都會利用多道技術

有4個cpu,執行於cpu1的某個程式遇到io阻塞,會等到io結束再重新排程,會被排程到4個

cpu中的任意乙個,具體由作業系統排程演算法決定。

2.空間上的復用:如記憶體中同時有多道程式

3.時間上的復用:復用乙個cpu的時間片

強調:遇到io切,占用cpu時間過長也切,核心在於切之前將程序的狀態儲存下來,這樣

才能保證下次切換回來時,能基於上次切走的位置繼續執行

3.1、
併發程式設計3

joinablequeue 在queue的功能上多加了兩個 1 task done 告訴容器已經處理完了乙個資料 2 join 也是喲個阻塞函式,一直到佇列中的資料被處理完畢 task done的呼叫次數等於佇列中的資料數量 多執行緒理論 執行緒指的是一條流水線,是 執行的總稱,也是乙個抽象概念 執...

併發程式設計3 執行緒排程

方法說明 run 執行緒執行的主體 yield 放棄當前的時間片進入可執行狀態,可以被再次選中 start 執行緒進入可執行階段 sleep 阻塞一定的時間,會持有鎖 t2.join 等待t2執行緒執行結束,會持有鎖,有可能會死鎖 wait 鎖物件的方法,持有鎖物件的執行緒釋放鎖,進入阻塞佇列等待n...

java併發程式設計學習(3)

銀行排隊叫號的場景如圖所示 有乙個出票機,按順序出票。有多個櫃檯叫號。對於這樣的場景,實現可以分為2部分,出票機和櫃檯。出票機public class ticketwindow implements runnable catch interruptedexception e 新建ticketwind...