五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

直播軟件APP開發(fā),了解過緩存一致性協(xié)議嗎

2022-12-12 15:51 作者:yunbaoKJ  | 我要投稿

緩存一致性協(xié)議也被稱為MESI,現(xiàn)在直播軟件APP開發(fā)一般是多CPU和多核的,很容易出現(xiàn)多個CPU同一時間訪問一個變量的情況,而MESI就是為了解決這個變量問題的,保證直播軟件APP開發(fā)數(shù)據(jù)一致性的問題。

?


一、MESI的四種狀態(tài)

1、M,已修改,代表緩存行里面的數(shù)據(jù)已經(jīng)被修改了,后續(xù)會寫到內(nèi)存中

2、E,獨占,代表該數(shù)據(jù)只能被直播軟件APP開發(fā)的CPU或者該核緩存,不存在多個CPU或者多個核同時操作的情況

3、S,共享,代表該數(shù)據(jù)可以被多個CPU或者多核緩存,存在多個CPU或者多個核同時操作的情況

4、I,已失效,代表該緩存行里面的數(shù)據(jù)已經(jīng)失效了,也就是被其他CPU或者核已經(jīng)修改掉了

?


二、針對MESI的優(yōu)化

緩存一致性信息傳遞是需要時間的,就導(dǎo)致其切換時會產(chǎn)生延遲,當(dāng)一個緩存被切換狀態(tài)時其他緩存受到消息完成各自的切換并且發(fā)出回應(yīng)消息,那直播軟件APP開發(fā)需要等待所有緩存響應(yīng)完成,可能會出現(xiàn)阻塞,導(dǎo)致各種各樣的性能問題和穩(wěn)定性問題。

解決方法在于:在直播軟件APP開發(fā)某個CPU修改變量后,會去通知其他用到了該變量的CPU,其他用到了該變量的CPU收到通知后,會將自己的備份數(shù)據(jù)放到一個失效隊列中,然后立刻發(fā)送修改的CPU一個通知,等確定其他CPU都收到后,發(fā)送的那個就會將數(shù)據(jù)丟掉。

?


三、緩存行的偽共享

1、偽共享是什么。首先CPU緩存系統(tǒng)中是以緩存行為單位儲存的,目前直播軟件APP開發(fā)主流的CPU大小是固定的,在多線程情況下,如果需要修改共享同一個緩存行的變量,就會影響到彼此之間的性能

2、如何解決偽共享。給直播軟件APP開發(fā)加上一個注解的類會自動補齊緩存行,需要注意的是此注解默認是無效的,需要在jvm啟動時才會生效

聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任


直播軟件APP開發(fā),了解過緩存一致性協(xié)議嗎的評論 (共 條)

分享到微博請遵守國家法律
铜陵市| 京山县| 哈尔滨市| 白沙| 丹寨县| 习水县| 富宁县| 修文县| 孝感市| 克拉玛依市| 尤溪县| 广宁县| 彩票| 邯郸市| 沂源县| 莱州市| 茌平县| 平度市| 胶南市| 绵阳市| 武冈市| 石狮市| 河北省| 蛟河市| 黄骅市| 稷山县| 金溪县| 靖边县| 延边| 大埔区| 南汇区| 穆棱市| 民和| 虞城县| 东乡族自治县| 荔浦县| 财经| 黑河市| 当雄县| 维西| 赤峰市|