日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

每天一道面試題-CPU偽共享

來源: 責編: 時間:2023-08-05 11:46:18 4616觀看
導讀前言:了不起:又到了每天一到面試題的時候了!學弟,最近學習的怎么樣啊 了不起學弟:最近學習的還不錯,每天都在學習,每天都在進步! 了不起:那你最近學習的什么呢? 了不起學弟:最近在學習CPU偽共享,但是不太理解,能不能給我講講呢?正文

前言:

了不起:又到了每天一到面試題的時候了!學弟,最近學習的怎么樣啊 lLA28資訊網——每日最新資訊28at.com

了不起學弟:最近學習的還不錯,每天都在學習,每天都在進步! lLA28資訊網——每日最新資訊28at.com

了不起:那你最近學習的什么呢? lLA28資訊網——每日最新資訊28at.com

了不起學弟:最近在學習CPU偽共享,但是不太理解,能不能給我講講呢?lLA28資訊網——每日最新資訊28at.com

正文:

首先,我們先了解一下CPU的緩存模型。lLA28資訊網——每日最新資訊28at.com

CPU的緩存分為三層,一級緩存,二級緩存,三級緩存。lLA28資訊網——每日最新資訊28at.com

如果要獲取一個內存中的數據,首先會從一級緩存中獲取,如果一級緩存中沒有,就會從二級緩存中獲取,如果二級緩存中沒有,就會從三級緩存中獲取,如果三級緩存中沒有,就會從內存中獲取。lLA28資訊網——每日最新資訊28at.com

一級緩存是最快的,越到后面就越慢。那CPU的緩存,是由緩存行組成的,每個緩存行的大小是64字節,也就是說,如果我們要獲取一個數據,那么就會把這個數據所在的內存地址,以及這個數據所在的內存地址的前后64字節的數據,都會加載到緩存行中。 lLA28資訊網——每日最新資訊28at.com

聊到這里,我就給大家看看常見的偽共享問題的案例。 lLA28資訊網——每日最新資訊28at.com

假設有兩個線程a和b,同時有兩個long類型的變量A和B。兩個變量都是互相緊挨著的。那線程a要去操作A,就會把變量A和B一起帶入的緩存行,線程b要去操作變量B,也會同時把AB帶入緩存行。此時如果線程a把A做了修改,再通過BUS總線進行了通知,內存再做了修改。線程b重新從內存獲取變量B,那么此時這種還需要從內存獲取變量,這就是偽共享了。 lLA28資訊網——每日最新資訊28at.com

偽共享:變量AB毫不相關,但是一旦其中一個變量被修改,另一個變量也會被重新加載。lLA28資訊網——每日最新資訊28at.com

偽共享的解決方案: lLA28資訊網——每日最新資訊28at.com

  1. 使用緩存行填充,也就是說,我們在變量AB之間,加入一些無用的變量,讓AB不在同一個緩存行中,這樣就不會出現偽共享的問題了。

舉例:lLA28資訊網——每日最新資訊28at.com

private static class Padding{    private volatile long a;    public volatile long a1,a2,a3,a4,a5,a6,a7;    private volatile long b;  }
2.使用@Contened注解在變量上,同時在jdk8中還需要在jvm啟動參數中加入-XX:-RestrictContended,jdk8以上的版本就不需要這個參數即可,這樣就可以解決偽共享的問題了。
private static class Padding{    @Contended    private volatile long a;    @Contended    private volatile long b;  }

結尾:

今天就給大家分享了一下關于CPU偽共享的問題,大家如果對CPU緩存模型那塊還有疑問,可以多查找一下資料,比如MESI緩存一致模型等等。lLA28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-153-0.html每天一道面試題-CPU偽共享

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 為什么你不應該使用Div作為可點擊元素

下一篇: 使用AIGC工具提升安全工作效率

標簽:
  • 熱門焦點
  • K60至尊版狂暴引擎2.0加持:超177萬跑分斬獲性能第一

    Redmi的后性能時代戰略發布會今天下午如期舉辦,在本次發布會上,Redmi公布了多項關于和聯發科的深度合作,以及新機K60 Ultra在軟件和硬件方面的特性,例如:“K60 至尊版,雙芯旗艦
  • 把LangChain跑起來的三個方法

    使用LangChain開發LLM應用時,需要機器進行GLM部署,好多同學第一步就被勸退了,那么如何繞過這個步驟先學習LLM模型的應用,對Langchain進行快速上手?本片講解3個把LangChain跑起來
  • 一個注解實現接口冪等,這樣才優雅!

    場景碼猿慢病云管理系統中其實高并發的場景不是很多,沒有必要每個接口都去考慮并發高的場景,比如添加住院患者的這個接口,具體的業務代碼就不貼了,業務偽代碼如下:圖片上述代碼有
  • 共享單車的故事講到哪了?

    來源丨海克財經與共享充電寶相差不多,共享單車已很久沒有被國內熱點新聞關照到了。除了一再漲價和用戶直呼用不起了。近日多家媒體再發報道稱,成都、天津、鄭州等地多個共享單
  • 新電商三兄弟,“抖快紅”成團!

    來源:價值研究所作 者:Hernanderz 隨著內容電商的概念興起,抖音、快手、小紅書組成的“新電商三兄弟”成為業內一股不可忽視的勢力,給阿里、京東、拼多多帶去了巨大壓
  • 網傳小米汽車開始篩選交付中心 建筑面積不低于3000平方米

    7月7日消息,近日有微博網友@長三角行健者爆料稱,據經銷商集團反饋,小米汽車目前已經開始了交付中心的篩選工作,要求候選場地至少有120個車位,建筑不能低
  • 蘋果、三星、惠普等暫停向印度出口筆記本和平板電腦

    集微網消息,據彭博社報道,在8月3日印度突然禁止在沒有許可證的情況下向印度進口電腦/平板及顯示器等產品后,蘋果、三星電子和惠普等大公司暫停向印度
  • 機構稱Q2全球智能手機出貨量同比下滑11% 蘋果份額依舊第2

    7月20日消息,據外媒報道,研究機構的報告顯示,由于需求下滑,今年二季度全球智能手機的出貨量,同比下滑了11%,三星、蘋果等主要廠商的銷量,較去年同期均有下
  • 滴滴違法違規被罰80.26億 共存在16項違法事實

    滴滴違法違規被罰80.26億 存在16項違法事實開始于2121年7月,歷經一年時間,網絡安全審查辦公室對“滴滴出行”網絡安全審查終于有了一個暫時的結束。據“網信
Top 主站蜘蛛池模板: 如东县| 固安县| 无棣县| 裕民县| 塔河县| 平山县| 金沙县| 永新县| 积石山| 会昌县| 武胜县| 微博| 翁源县| 巴林右旗| 汝城县| 阿拉善盟| 达拉特旗| 二手房| 永嘉县| 西林县| 晴隆县| 上思县| 宿州市| 罗山县| 东源县| 神池县| 泰宁县| 响水县| 定兴县| 环江| 雷波县| 高唐县| 九江市| 抚远县| 通渭县| 海安县| 龙南县| 湘乡市| 崇礼县| 天台县| 莱西市|