Java併發程式設計 CPU快取

2021-09-24 14:43:56 字數 606 閱讀 8832

cpu與快取記憶體通過快速通道直接相連,而快取記憶體和主存通過資料匯流排相連

cpu cache出現的原因:cpu的頻率太快了。快到主存跟不上,這樣在處理器時鐘週期內。cpu常常需要等待主存,浪費資源。所以cache的出現,是為了緩解cpu和主存之間速度不匹配的問題

(結鉤:cpu → cache → memory)

cpu cache遠小於主存還有什麼意義:

時間區域性性:如果某個資料被訪問,那麼在不久的將來很可能再次被訪問

空間區域性 性:如果某個資料被訪問。那麼與它相鄰的資料很快也會被訪問

用於保證多個cpu cache 之間快取共享資料的一致

JAVA併發程式設計

通過常量字串 string 來呼叫 wait 或 notify 方法所導致的問題是,jvm 編譯器會在內部自動將內容相同的 string 轉變為相同的物件。這意味著,即便你建立了兩個不同的 mywaitnotify 例項,他們內部的 mymonitorobject 變數也會指向相同的 string ...

Java併發程式設計

執行緒之間通訊 1.加鎖 object.wait 釋放鎖 object.notify 與sychronized 聯合使用,object lock new object sychronized lock sychronized lock 2.改進 無需加鎖並發包下 countdownlatch.awa...

Java併發程式設計 分治程式設計

分治演算法是五大常用演算法之一,本來不應該在這個時間寫這篇部落格,因為之前的執行緒池還沒有寫完,有些知識點也是需要用到的執行緒池的,但是架不住現在的專案裡有個坑隊友,名曰大桌球,他好像是批量註冊使用者還是什麼 暫時就先當做是批量註冊吧 反正就是很多很多使用者,每個使用者大概0.5秒左右的註冊時間,要...