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