摘要:關于降低鎖的競爭程度從奶爸的角度思考題外話這篇文章的靈感來源于近日帶娃耍。具體可參考定律,大致可理解為處理器的利用率與處理器數量和串行比例成反比,此外,在鎖上發生競爭,導致上下文切換的開銷增加,進而降低程序的性能。
關于降低鎖的競爭程度------從奶爸的角度思考
題外話:這篇文章的靈感來源于近日帶娃耍。
鎖競爭帶來的問題在鎖上發生競爭,導致串行操作花費的時間比例增加,進而降低程序的可伸縮性。具體可參考Amdahl定律,大致可理解為處理器的利用率p與處理器數量n和串行比例f成反比,p = 1/nf.
此外,在鎖上發生競爭,導致上下文切換的開銷增加,進而降低程序的性能。基本上每一次上下文切換都涉及到操作系統,JVM,緩存的個方面的開銷。
降低鎖的競爭程度的好處基于上面所述,降低鎖的競爭程度,是有利于程序的可伸縮性和性能的。
降低鎖的競爭程度的方式一般以下三種方式:
減少鎖的持有時間。
降低鎖的請求頻率。
使用一些協調機制。
這三種方式應該是很容易理解的。
從奶爸的角度思考以下場景假設以下場景:幾個小孩,一個奶爸,一堆玩具,小孩必須通過奶爸才能拿到玩具,而奶爸一次只能被滿足一個小孩的要求,并且小孩在玩耍后必須對玩具進行清潔放回原位。
如果每個小孩在拿到玩具后只是玩耍,不需要花時間來給玩具做清潔并放回原位,那么勢必增加其他小孩玩耍玩具的機會。此處相當于縮小鎖的范圍,將一些和鎖無關的,長時間的操作移除,把鎖用在真正需要的地方。
如果每個小孩不需要通過奶爸才能拿到玩具,而是只要玩具沒有其他小孩玩耍,就可以拿來玩。那么勢必大大增加了每個小孩玩耍玩具的機會。此處相當于減小鎖的粒度,通過鎖分解和鎖分段,多個相互獨立的鎖來保護獨立的變量,這樣就降低了每個鎖被請求的頻率。
如果奶爸來協調安排各個小孩玩耍玩具,而不是每一次只能滿足一個小孩的要求,那么勢必玩具的使用度和小孩的體驗度也會很好。此處相當于使用一些協調機制來管理共享狀態。
備注:小孩相當于線程,玩具相當于資源,奶爸相當于獨占鎖(1,2)或者某種協調機制(3)。
生活中的事想想也是挺有趣的吧。 :)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/68746.html
摘要:發現云計算領導者的秘密借助云改變商業策略圖為大中華區全球信息科技服務部戰略及市場總經理石峰同時陶弢也很客觀地指出,從整體上來看云計算助力企業業務增長還處于比較早期的階段。本文原標題發現云計算領導者的秘密借助云改變商業策略本文轉載自 目前對云計算的態度和發展上,國家政策是一面地傾斜、IT廠商是全業務滲透,而企業用戶呢?在云計算剛起來時,我們就做過暢想,諸如云計算會徹底變 革企業的IT架構、云計...
摘要:導語本期訪談對象許式偉,七牛云存儲,國內語言圈領軍人物,社區發起人。許式偉的經歷頗有傳奇性,大學時就有狂外號的他,憑一份手寫簡歷成功應聘金山,兩年后成長為首席架構師,領導長達年的研發。在某技術大會的間隙,我第一次見到許式偉。 showImg(https://segmentfault.com/img/bVjLDc); 文:Gracia (本文為原創內容,部分或全文轉載均需經過作者授權,...
摘要:有可能,會造成優先級反轉或者饑餓現象。悲觀鎖在中的使用,就是利用各種鎖。對于而言,其是獨享鎖。偏向鎖,顧名思義,它會偏向于第一個訪問鎖的線程,大多數情況下鎖不僅不存在多線程競爭,而且總是由同一線程多次獲得。 理解鎖的基礎知識 如果想要透徹的理解java鎖的來龍去脈,需要先了解以下基礎知識。 基礎知識之一:鎖的類型 按照其性質分類 公平鎖/非公平鎖 公平鎖是指多個線程按照申請鎖的順序來獲...
摘要:繼承繼承,就是子類繼承父親的特征和行為,使得子類具有父類的成員變量和方法。此時,被繼承的類稱為父類或基類,而繼承的類稱為子類或派生類。,如果存在繼承關系的時候,和就不一樣了基類中的成員可以在派生類中使用,但是基類中的成員不能再派生類中使用。 ...
摘要:就算以上的分析邏輯自洽,有很多人依然認為背離了區塊鏈去中心化的初衷和精髓。基于算法的比特幣,看似踐行了去中心化的終極理想,實質上卻被比特大陸這樣的礦霸所壟斷。比特幣的這種去中心化,基本可以等同于一黨獨大下的政治協商。 作者介紹:張其中,中科院碩士,連續創業者,樂家app創始人,花貓快問聯合創始人,鏈寶科技聯合創始人,關注EOS公鏈生態發展,致力于基于EOS的DAPP應用實踐與產品研究。...
閱讀 2861·2021-10-14 09:50
閱讀 1218·2021-10-08 10:21
閱讀 3646·2021-10-08 10:16
閱讀 3063·2021-09-27 14:02
閱讀 3135·2021-09-23 11:21
閱讀 2109·2021-09-07 10:17
閱讀 407·2019-08-30 14:00
閱讀 2105·2019-08-29 17:26