强奸久久久久久久|草草浮力在线影院|手机成人无码av|亚洲精品狼友视频|国产国模精品一区|久久成人中文字幕|超碰在线视屏免费|玖玖欧洲一区二区|欧美精品无码一区|日韩无遮一区二区

首頁 > 產(chǎn)品 > 知識(shí) > 自旋鎖,自旋鎖和互斥鎖的區(qū)別 java中l(wèi)ock Syntronized區(qū)別

自旋鎖,自旋鎖和互斥鎖的區(qū)別 java中l(wèi)ock Syntronized區(qū)別

來源:整理 時(shí)間:2024-12-16 06:58:37 編輯:智能門戶 手機(jī)版

本文目錄一覽

1,自旋鎖和互斥鎖的區(qū)別 java中l(wèi)ock Syntronized區(qū)別

自旋鎖(Spin lock) 自旋鎖與互斥鎖有點(diǎn)類似,只是自旋鎖不會(huì)引起調(diào)用者睡眠,如果自旋鎖已經(jīng)被別的執(zhí)行單元保持,調(diào)用者就一直循環(huán)在那里看是 否該自旋鎖的保持者已經(jīng)釋放了鎖,"自旋"一詞就是因此而得名。其作用是為了解決某項(xiàng)資源的互斥使用。...

自旋鎖和互斥鎖的區(qū)別 java中l(wèi)ock Syntronized區(qū)別

2,關(guān)于旋轉(zhuǎn)鎖spin lock的解釋

spin lock一般翻譯為自旋鎖,簡單的理解是這樣的,它和信號(hào)量差不多。 信號(hào)量:線程在無信號(hào)時(shí)會(huì)阻塞,阻塞時(shí)會(huì)釋放CPU,讓其它線程用。 自旋鎖:自旋鎖在得不到鎖的狀態(tài)下也會(huì)阻塞,但阻塞時(shí)不釋放CPU,一直占用CPU,相當(dāng)于在死循環(huán)。 如果想看比較專業(yè)的解釋,可以參考: http://baike.baidu.com/view/1250961.html?wtp=tt

關(guān)于旋轉(zhuǎn)鎖spin lock的解釋

3,信號(hào)量和自旋鎖的區(qū)別如何選擇使用

由于信號(hào)量不受睡眠的限制,所以通常來說更加簡單一些。當(dāng)需要在自旋鎖和信號(hào)量中作選擇時(shí),選擇結(jié)果應(yīng)該取決于鎖被持有的時(shí)間長短。理想的情況是所有的鎖都應(yīng)該盡可能短的占有,但如果鎖的持有時(shí)間比較長,使用信號(hào)量是更好的選擇。信號(hào)量不會(huì)關(guān)閉內(nèi)核搶占,所以持有自旋鎖的代碼可以被搶占。所以信號(hào)量不會(huì)對(duì)影響調(diào)度反應(yīng)時(shí)間帶來負(fù)面影響。
由于信號(hào)量不受睡眠的限制,所以通常來說更加簡單一些。當(dāng)需要在自旋鎖和信號(hào)量中作選擇時(shí),選擇結(jié)果應(yīng)該取決于鎖被持有的時(shí)間長短。理想的情況是所有的鎖都應(yīng)該盡可能短的占有,但如果鎖的持有時(shí)間比較長,使用信號(hào)量是更好的選擇。信號(hào)量不會(huì)關(guān)閉內(nèi)核搶占,所以持有自旋鎖的代碼可以被搶占。所以信號(hào)量不會(huì)對(duì)影響調(diào)度反應(yīng)時(shí)間帶來負(fù)面影響。

信號(hào)量和自旋鎖的區(qū)別如何選擇使用

4,spinlock自旋鎖是如何實(shí)現(xiàn)的

在 x86 平臺(tái)上,spinlock 主要通過處理器的 lock 指令前綴實(shí)現(xiàn)當(dāng)某個(gè)線程的一條指令訪問某個(gè)內(nèi)存的時(shí)候,其他的線程的指令無法訪問該內(nèi)存的功能。因此在 spinlock 初始化階段,將鎖變量中的值某個(gè)值 k 賦為1。在加鎖的時(shí)候,使用 lock decl (%eax) 指令互斥地將該變量變成0,并且將結(jié)果是否問0 賦值給 EFLAGS寄存器 的對(duì)應(yīng)位。只有加上鎖的線程才會(huì)結(jié)果才是0,其他線程的結(jié)果不是0。接著通過判斷該對(duì)應(yīng)位判斷是否加上鎖。如果沒有加上,則循環(huán)執(zhí)行 lock decl (%eax),直到加上為止。其中 %eax 是這個(gè)變量的地址。這里用的是gcc 的AT&T語法的匯編。
說實(shí)話 真不不太清楚 可以去網(wǎng)上看看啊

5,確定選用自旋鎖和信號(hào)量的原則有哪些

1當(dāng)鎖不能被獲取時(shí),使用信號(hào)量的開銷是進(jìn)城上下文切換Tsw,使用自旋鎖是等待獲取自旋鎖時(shí)間Tcs,若Tcs比較小用自旋鎖,若Tsw大用信號(hào)量。2)信號(hào)量所保護(hù)的臨界區(qū)可包含可能引起阻塞的代碼,而自旋鎖絕對(duì)要避免用來保護(hù)這樣代碼的臨界區(qū)。因?yàn)樽枞馕吨M(jìn)行進(jìn)程切換,如果進(jìn)程被切換,另一個(gè)進(jìn)程企圖獲得本自旋鎖,死鎖就發(fā)生。3)信號(hào)量存在進(jìn)程上下文,因此,如果被保護(hù)的共享資源需要在中斷或軟中斷情況下使用,則在信號(hào)量和自旋鎖之前只能選擇自旋鎖,當(dāng)然如果一定要使用信號(hào)量,則只能通過down_trylock(),不能獲取就返回以避免阻塞。
由于信號(hào)量不受睡眠的限制,所以通常來說更加簡單一些。 當(dāng)需要在自旋鎖和信號(hào)量中作選擇時(shí),選擇結(jié)果應(yīng)該取決于鎖被持有的時(shí)間長短。理想的情況是所有的鎖都應(yīng)該盡可能短的占有,但如果鎖的持有時(shí)間比較長,使用信號(hào)量是更好的選擇。 信號(hào)量不會(huì)關(guān)閉內(nèi)核搶占,所以持有自旋鎖的代碼法筏瘁禾誆鼓搭態(tài)但卡可以被搶占。所以信號(hào)量不會(huì)對(duì)影響調(diào)度反應(yīng)時(shí)間帶來負(fù)面影響。

6,自旋鎖的自旋鎖原理

跟互斥鎖一樣,一個(gè)執(zhí)行單元要想訪問被自旋鎖保護(hù)的共享資源,必須先得到鎖,在訪問完共享資源后,必須釋放鎖。如果在獲取自旋鎖時(shí),沒有任何執(zhí)行單元保持該鎖,那么將立即得到鎖;如果在獲取自旋鎖時(shí)鎖已經(jīng)有保持者,那么獲取鎖操作將自旋在那里,直到該自旋鎖的保持者釋放了鎖。由此我們可以看出,自旋鎖是一種比較低級(jí)的保護(hù)數(shù)據(jù)結(jié)構(gòu)或代碼片段的原始方式,這種鎖可能存在兩個(gè)問題:死鎖。試圖遞歸地獲得自旋鎖必然會(huì)引起死鎖:遞歸程序的持有實(shí)例在第二個(gè)實(shí)例循環(huán),以試圖獲得相同自旋鎖時(shí),不會(huì)釋放此自旋鎖。在遞歸程序中使用自旋鎖應(yīng)遵守下列策略:遞歸程序決不能在持有自旋鎖時(shí)調(diào)用它自己,也決不能在遞歸調(diào)用時(shí)試圖獲得相同的自旋鎖。此外如果一個(gè)進(jìn)程已經(jīng)將資源鎖定,那么,即使其它申請這個(gè)資源的進(jìn)程不停地瘋狂“自旋”,也無法獲得資源,從而進(jìn)入死循環(huán)。過多占用cpu資源。如果不加限制,由于申請者一直在循環(huán)等待,因此自旋鎖在鎖定的時(shí)候,如果不成功,不會(huì)睡眠,會(huì)持續(xù)的嘗試,單cpu的時(shí)候自旋鎖會(huì)讓其它process動(dòng)不了. 因此,一般自旋鎖實(shí)現(xiàn)會(huì)有一個(gè)參數(shù)限定最多持續(xù)嘗試次數(shù). 超出后, 自旋鎖放棄當(dāng)前time slice. 等下一次機(jī)會(huì)由此可見,自旋鎖比較適用于鎖使用者保持鎖時(shí)間比較短的情況。正是由于自旋鎖使用者一般保持鎖時(shí)間非常短,因此選擇自旋而不是睡眠是非常必要的,自旋鎖的效率遠(yuǎn)高于互斥鎖。信號(hào)量和讀寫信號(hào)量適合于保持時(shí)間較長的情況,它們會(huì)導(dǎo)致調(diào)用者睡眠,因此只能在進(jìn)程上下文使用,而自旋鎖適合于保持時(shí)間非常短的情況,它可以在任何上下文使用。如果被保護(hù)的共享資源只在進(jìn)程上下文訪問,使用信號(hào)量保護(hù)該共享資源非常合適,如果對(duì)共享資源的訪問時(shí)間非常短,自旋鎖也可以。但是如果被保護(hù)的共享資源需要在中斷上下文訪問(包括底半部即中斷處理句柄和頂半部即軟中斷),就必須使用自旋鎖。自旋鎖保持期間是搶占失效的,而信號(hào)量和讀寫信號(hào)量保持期間是可以被搶占的。自旋鎖只有在內(nèi)核可搶占或SMP(多處理器)的情況下才真正需要,在單CPU且不可搶占的內(nèi)核下,自旋鎖的所有操作都是空操作,上面簡要介紹了自旋鎖的基本原理,以下將給出具體的例子,進(jìn)一步闡釋自旋鎖在實(shí)際系統(tǒng)中的應(yīng)用。上面我們已經(jīng)講過自旋鎖只有在內(nèi)核可搶占或SMP(多處理器)的情況下才真正需要,下面我們就以SMP為例,來說明為什么要使用自旋鎖,以及自旋鎖實(shí)現(xiàn)的基本算法。
文章TAG:自旋鎖互斥互斥鎖區(qū)別自旋鎖java中l(wèi)ockSyntronized區(qū)別

最近更新

  • 新疆非自動(dòng)化設(shè)備公司排名,國內(nèi)自動(dòng)化設(shè)備公司排名新疆非自動(dòng)化設(shè)備公司排名,國內(nèi)自動(dòng)化設(shè)備公司排名

    國內(nèi)什么比較好自動(dòng)化機(jī)械設(shè)計(jì)與非標(biāo)機(jī)械公司?世界前十自動(dòng)化公司排名(世界最大自動(dòng)化公司10。畫布科技成立于2015年:行業(yè),產(chǎn)業(yè),自動(dòng)化機(jī)械設(shè)計(jì)和非標(biāo)機(jī)械的出現(xiàn)更好公司自動(dòng)化設(shè)備改變了.....

    知識(shí) 日期:2024-12-16

  • crf是什么意思,CRF是什么病crf是什么意思,CRF是什么病

    CRF是什么病2,游戲里的COF是什么意思3,DNFcof指是什么意思4,請問食品接觸報(bào)告中的rohsreachHFFC分別是什么意思5,F(xiàn)OBCFRCIF在國際貿(mào)易中分別是啥意思6,在外貿(mào)出口中LCCFRFOB是什么意思1,CRF.....

    知識(shí) 日期:2024-12-16

  • 電缸自動(dòng)化設(shè)備應(yīng)用,電氣自動(dòng)化在電力工程中的應(yīng)用電缸自動(dòng)化設(shè)備應(yīng)用,電氣自動(dòng)化在電力工程中的應(yīng)用

    自動(dòng)化設(shè)備是自動(dòng)化系統(tǒng)中的大型成套設(shè)備。電氣自動(dòng)化在電力工程中有什么應(yīng)用?自動(dòng)化設(shè)備是做什么的?自動(dòng)化設(shè)備是指能夠自動(dòng)完成一定功能的機(jī)械、電子、控制等技術(shù)的綜合應(yīng)用,什么是自動(dòng).....

    知識(shí) 日期:2024-12-16

  • 工控自動(dòng)化設(shè)備有哪些種類,進(jìn)口工控自動(dòng)化設(shè)備--首頁工控自動(dòng)化設(shè)備有哪些種類,進(jìn)口工控自動(dòng)化設(shè)備--首頁

    自動(dòng)化設(shè)備主要用什么元件?工控有哪些機(jī)器品牌?與普通計(jì)算機(jī)有什么區(qū)別工控PC是專門為工業(yè)設(shè)計(jì)的計(jì)算機(jī)自動(dòng)化control設(shè)備,也稱工業(yè)控制計(jì)算機(jī)。公司已經(jīng)深耕自動(dòng)化設(shè)備行業(yè),基于應(yīng)用場景,.....

    知識(shí) 日期:2024-12-16

  • 遠(yuǎn)程攝像頭,什么是手機(jī)遠(yuǎn)程視頻監(jiān)控遠(yuǎn)程攝像頭,什么是手機(jī)遠(yuǎn)程視頻監(jiān)控

    什么是手機(jī)遠(yuǎn)程視頻監(jiān)控所謂的手機(jī)遠(yuǎn)程視頻監(jiān)控,簡單講就是把本地監(jiān)控做到手機(jī)上,手機(jī)也能遠(yuǎn)程看到攝像頭照到的情況,不論你在哪里都能看到,只要你的手機(jī)能上網(wǎng)。桂林神齊科技有限公司研發(fā).....

    知識(shí) 日期:2024-12-16

  • 頻率是什么,什么是頻率頻率是什么,什么是頻率

    什么是頻率2,什么叫頻率3,什么是頻率4,什么叫頻率5,什么是頻率6,什么是頻率1,什么是頻率一秒鐘變化的次數(shù)f=1/t2,什么叫頻率頻率是用來描述物體振動(dòng)快慢的物理量。物理學(xué)中把物體在每秒內(nèi)振動(dòng).....

    知識(shí) 日期:2024-12-16

  • 小型示波器,什么樣的示波器好用體積小點(diǎn)的價(jià)格實(shí)惠的小型示波器,什么樣的示波器好用體積小點(diǎn)的價(jià)格實(shí)惠的

    什么樣的示波器好用體積小點(diǎn)的價(jià)格實(shí)惠的2,超小型袖珍ST16二手示波器咋樣3,如何做一個(gè)簡易示波器4,求推薦一款示波器5,手持式示波器幾種典型產(chǎn)品6,國產(chǎn)的手持示波器求推薦一個(gè)好點(diǎn)的價(jià)格在.....

    知識(shí) 日期:2024-12-16

  • 固件升級(jí),什么是固件升級(jí)固件升級(jí),什么是固件升級(jí)

    什么是固件升級(jí)固件(FirmWare)的詞典里的解釋是具有軟件功能的硬件2,什么是固件升級(jí)呢D刷機(jī)就要固件了固件升級(jí)就是指對(duì)你的機(jī)器修補(bǔ)一些小Bug..進(jìn)行軟件上的一些更改3,固件升級(jí)是什么概.....

    知識(shí) 日期:2024-12-15