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

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

[ Ctrl + D 鍵 ]收藏本站

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

為什么

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

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

閱讀 :362

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 ,需要先獲得一個鎖,這個鎖的對象應(yīng)該是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:

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

答案 4:

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

答案 5:

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

答案 6:

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

答案 7:

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

答案 8:

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

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

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

欧美人成免费视网站| 黄色成人免费在线观看| 又粗又长又黄在线观看 | 久久乐三级视频| 在线观看国产色欲色欲| 精品无码区| 综合久久本道中文字幕| 亚洲成年人在线观看| 三人牲交| 国产欧美精品区一区二区三区丝袜| 国产色婷婷亚洲| 懂色Aⅴ一区二区三区免费看| 人人澡人人澡人人看添AV| 国产激情视频小说在线观看| www色女人com| 欧美伊香蕉久久综合类网站| 六月丁香婷婷久久| 久久久夂久视频| 国产亚洲欧美日韩在线一区二区三区| 精品久久久噜噜噜久久x99a| 成人无码黄动漫在线播放| AV中文字幕不卡| 亚洲综合久久校园| 欧洲成人精品一区二区三区3d| 最新啪啪资源| 欧美亚洲日韩国内中文字幕| 无码专区狠狠躁躁天天躁| 亚洲AV永久青草无码性色av| 久久精品国产久精国产| 四虎免看黄| 日韩亚洲人人爽| 23部禽女乱小说内裤畸情视频| 狠狠精品久久久无码中文字幕| 狠色婷婷久久一| 国产激情视频一区二区三区| 欧美,亚洲,日韩一区| 亚洲欧美日韩另类中文字幕综合网| 人妻色AV天堂| 丁香五月天一区二区爱爱视频| 亚洲成人在线小说| 少妇奶水亚洲一区二区观看|