国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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é)議嗎的評論 (共 條)

分享到微博請遵守國家法律
友谊县| 泸定县| 木里| 共和县| 武城县| 红桥区| 枝江市| 昌江| 宁陵县| 马鞍山市| 乌兰浩特市| 赤壁市| 北票市| 阿瓦提县| 保山市| 洛阳市| 满城县| 涪陵区| 广灵县| 镶黄旗| 富顺县| 清水河县| 修武县| 永宁县| 武宁县| 宜川县| 克山县| 瓮安县| 龙江县| 五台县| 新宁县| 和政县| 广灵县| 蛟河市| 鲜城| 康平县| 新巴尔虎右旗| 石河子市| 福安市| 宁乡县| 安多县|