併發程式設計基礎

2022-09-05 03:12:06 字數 459 閱讀 2123

從本質上來說,作業系統其實就是人為編寫的一種軟體,只不過它是一種操作計算機系統的軟體,所有的應用型軟體幾乎都要通過作業系統才能執行來執行功能,沒有不依靠作業系統就能執行功能的應用軟體(除非你真的很厲害,能夠自己操作相應的儲存器、cpu等硬體來提**用軟體的執行條件)。

一方面,它為應用軟體和使用者提供了操作計算機部分系統以及硬體的介面,使得程式執行和人為操作更為方便快捷,不用再面對那些硬體的具體執行。

另一方面,它通過儲存管理、程序排程以及cpu排程等來解決了當多個應用軟體在計算機中執行時,該如何高效地分配規劃呼叫有限的計算機資源來使得這些程序功能能夠正常執行的問題。

其中多道程式設計技術就是乙個非常重要的方法

併發程式設計 基礎篇

當前物件型別 物件頭長度 陣列3字長 非陣列2字長 長度內容 說明1個字長 32bit 64bit mark world 儲存物件的hashcode以及鎖的資訊 1個字長 class metedata address 儲存物件型別資料的指標 1個字長 array length 陣列長度 如果物件是陣...

併發程式設計 程序基礎

作業系統 阻塞和非阻塞 非阻塞 程序只會在就緒和 執行狀態中切換 程序三狀態 就緒 執行 阻塞 併發並行 子程序和主程序 多併發的tcp服務端 程序是作業系統中最小的資源分配單位 程序process 開啟子程序 join控制子程序 守護程序 daemon 鎖同步控制 訊號量 機制 計數器 鎖實現的 ...

併發程式設計 執行緒基礎

解決髒讀 造成髒讀的原因是在寫入資料 set 的時候,呼叫了讀取資料 get 的方法,造成讀到修改的資料的現象。解決的辦法是 使用synchronize同時對get方法和set方法加鎖,這樣set的時候就無法get 鎖重入 概念 對於拿到某個鎖的執行緒,它由可能再拿到其他的鎖。對於它剛執行完並釋放的...