蜜桃无码视频,欧美日韩一=三道夲,国产精品午夜AV电影网免费看,aaa.www

歡迎來到 常識詞典網(wǎng) , 一個專業(yè)的常識知識學習網(wǎng)站!

[ Ctrl + D 鍵 ]收藏本站

您所在的位置:首頁 > 教育學習 > 為什么

為什么

java sync-ronized同步方法調(diào)用另一個同步方法,鎖機制問題

分類: 為什么 常識詞典 編輯 : 常識 發(fā)布 : 08-25

閱讀 :346

java sync-ronized同步方法調(diào)用另一個同步方法,鎖機制問題public sync-ronized void met-odA(int a, int b);public sync-ronized void met-odB(int a){ met-odA(a, 0);}B方法可以執(zhí)行吧……就是說B方法獲得鎖之后,調(diào)用的A方法也可以獲得該鎖?8 個答案

答案 1:

要明白兩個問題,1.鎖的對象是誰,2.誰持有了鎖。假設(shè)方法A和B是在同一個類Test中的兩個方法。Test t=new Test();t.met-odB();這個時候,met-odB方法被調(diào)用時,因為加了sync-ronized ,需要先獲得一個鎖,這個鎖的對象應該是t,也就是當前的這個Test類的實例,而獲得鎖的東西是線程,也就是說當前線程拿到了t的鎖(而不是你說的B方法獲得鎖),這個時候B方法內(nèi)調(diào)用met-odA,因為A也加了sync-ronized,也需要獲得一個鎖,因為A和B都是Test類中的方法,所以當前線程要獲得的鎖的對象也是t。由于當前線程在執(zhí)行B方法時已經(jīng)持有了t對象的鎖,因此這時候調(diào)用met-odA是沒有任何影響的,相當于方法A上沒有加sync-ronized。另一種情況:假設(shè)現(xiàn)在有兩個Test類Test t1=new Test();Test t2=new Test();t1.met-odB();//此時當前線程持有了t1對象的鎖t2.met-odB();//此時當前線程也持有了t2對象的鎖當前線程持有了兩把鎖,鎖的對象分別是兩個不同的Test類的實例t1和t2,互相沒有影響。再一種情況:假設(shè)在多線程環(huán)境下,兩個線程都可以訪問Test t=new Test();此時假設(shè)t-read1里調(diào)用t.met-odB();同時t-read2里調(diào)用t.met-odB()這時假設(shè)t-read1先搶到t對象的鎖,那么t-read2需要等待t-read1釋放t對象的鎖才可以執(zhí)行B方法。結(jié)果像這樣:t-read1獲得t的鎖--t-read1執(zhí)行met-odB--t-read1執(zhí)行met-odA--釋放t的鎖---t-read2獲得t的鎖--t-read2執(zhí)行met-odB--t-read2執(zhí)行met-odA--釋放t的鎖。sync-ronized還有很多種使用方法,但只有明白是那條線程獲得哪個對象的鎖,就很容易明白了。

答案 2:

加在非static方法上的sync-ronized方法是和sync-ronized(t-is)塊等價的,均為對象鎖,即對t-is加鎖。獲得當前對象鎖的線程,可以繼續(xù)獲得當前對象鎖,JVM負責-對象被加鎖的次數(shù)。線程運行B方法,此時如果t-is鎖可以用,線程獲得該鎖,線程給對象加鎖,計數(shù)器變成1,然后B方法調(diào)用A方法,由于是對同一個對象同一個線程,線程可以繼續(xù)獲得鎖,計數(shù)器變?yōu)?,表示t-is被加鎖2次。A方法完畢后,線程釋放鎖,計數(shù)器變?yōu)?,此時對象鎖對其他線程依然是不可獲得的。B方法完畢后,線程繼續(xù)釋放鎖,此時計數(shù)器變?yōu)?,表示鎖被完全釋放,其他線程可以獲得對象鎖。

答案 3:

可以,一個線程對同一個對象的鎖可以反復獲取。這種同步鎖稱為可重入的鎖。

答案 4:

sync-ronized 鎖機制存在重入的特性,就是可以重復獲取同一個對象的鎖

答案 5:

met-odA試圖在上面獲得鎖的對象如果就是met-odB所鎖住的那個對象,那就可以吧

答案 6:

寫在方法上的sync-ronized,鎖的對象是t-is進入一次,計數(shù)器+1,離開,計數(shù)器-1

答案 7:

鎖的基本機制 @beralee將的很清楚;@孫立偉講了反復獲取鎖。反復獲取鎖是有意義的。@鄧梁 同學補充了較詳細的正常流程的解除嵌套鎖的計數(shù)器實現(xiàn)。我稍微補充一句:與之相對的問題還有,方法拋出異常時,線程足夠聰明以釋放所有反復獲取到到的鎖。詳情可以參考官方的虛擬機規(guī)范。

答案 8:

只要明白兩個問題就好了。1:誰獲取了鎖。2:獲取了誰的鎖。

下一篇:武漢給大家的文化形象是怎樣的? 下一篇 【方向鍵 ( → )下一篇】

上一篇:有自己的上半身照片,如何制作自己的漫畫頭像? 上一篇 【方向鍵 ( ← )上一篇】

久九九久频精品短视频| 中国无码人妻丰满熟妇啪啪| 精品久久av无码一区二区| 国产亚洲精品不卡3| 国语国产自产精品| 日韩欧美中文亚洲高清在线| 色五月丁香啪啪啪| 国产精品欧美亚洲韩国日本不卡| 久久6久久66热这里只有精品99| 久九午夜一区| av无码av天堂| 亚洲国产精品久久久久久久蜜臀| 日日干高清无码| 综合欧美亚洲色偷拍区| 亚洲精品在线免费公开| 一区二区三区蜜臀色欲av| 国产另类专区AV无码| 全网日韩在线视频| 久久精品国产欧美日韩亚洲| 欧美视频免费一区| wwwxxxxx国产| 激情六月亚洲| 久久精品一区二区我| 色综合久久中文| 成人动漫日本区二区三区| 亚洲成人一区。| 丁香五月草草B| 人妻a v h d| 亚洲熟妇中文字幕成人| 日韩人妻中文字幕系列| 精品蜜桃久久久| 久久天天躁日日躁狠狠综合| 连裤袜自慰XXXXX| 国产一级片综合网| 中文字幕无码一线二线三线| 97香蕉久久国产超碰青草精品 | 国产精品喷潮白浆| 国产对白受不了了| 亚洲欧美日产综合一区二区三区| 午夜成人免费视频| 色 人妻 综合|