五月天青色头像情侣网名,国产亚洲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é)議嗎的評論 (共 條)

分享到微博請遵守國家法律
九龙县| 留坝县| 驻马店市| 赣州市| 贵定县| 阳曲县| 沙洋县| 凌云县| 小金县| 龙里县| 曲阳县| 垣曲县| 汾阳市| 正蓝旗| 靖江市| 嘉荫县| 佳木斯市| 邳州市| 牙克石市| 上犹县| 新蔡县| 舞阳县| 寿光市| 卢湾区| 磴口县| 克什克腾旗| 商丘市| 旌德县| 杭锦旗| 和林格尔县| 阜南县| 天津市| 雷山县| 九江县| 遵化市| 喀什市| 江北区| 溆浦县| 丰镇市| 疏附县| 丰城市|