在一個Java採訪時有人問了上下文線程有一個ABC類包括兩個靜態同步方法m1()
和m2()
,並有兩個線程T1
,T2
,如果T1
呈現出鎖方法m1()
然後在同一時間有可能是T2
採取鎖m2()
方法,我回答說,因爲m1()
和m2()
是靜態的同步,所以,所以如果T1
線程需要的鎖m1()
方法則沒有其他線程他們有一流水平的鎖可同時鎖定m1()
,直至T1
從0123解鎖方法,但同時線程T2
可以鎖定方法m2()
,請告知它是正確的。關於一流水平鎖定
Q
關於一流水平鎖定
-1
A
回答
1
一對方法在Java中沒有獲取鎖,而是在對象。同步的靜態方法隱式使用類對象作爲鎖。自然,同一個類中的兩個方法都會爭用相同的鎖,並且不會被允許同時執行。
2
錯誤的...在一個同步方法塊鎖定所有其他同步方法調用
+0
所以你的意思是說,如果T1線程在靜態同步方法m1()上接受一個類級鎖定,那麼同時線程T2不能鎖定另一個靜態同步方法m2(),因爲線程T1已經把類級鎖在方法m1()上,你可以用一個小例子來展示一下,以便掌握更多。提前致謝。 – 2013-04-11 10:53:00
+0
是的......我不能給你一個比你寫的更多的數據記錄的例子。只要試圖補充它,如果你想,你會看到... – jamp 2013-04-11 11:01:14
相關問題
- 1. 鎖定水平視圖
- 2. 一流水平getintent
- 3. 畫廊中心鎖定水平滾動
- 4. 如何使鎖定和解鎖水平迪遊戲級別
- 5. 建立一個流體水平導航
- 6. 爲什麼一流水平與空
- 7. 關於屏幕鎖定和解鎖
- 8. Primefaces graphicImage流未關閉,文件鎖定
- 9. 創建固定高度的水平格與流體一
- 10. 水平定位Div
- 11. 帶有可鎖定列和水平滾動的表視圖?
- 12. 層次結構表中,對於一個特定的水平
- 13. 定義因素,其水平依賴於另一個變量
- 14. 關於數據庫被鎖定
- 15. 關於SQL Server的鎖定機制
- 16. 返回高於平均水平的行
- 17. 在同一水平
- 18. 水平定位一個無序列表
- 19. 創建一個水平子導航的基於CSS的水平下拉菜單
- 20. 強制內容水平流動
- 21. 中心自舉容器流體水平
- 22. HTML,CSS - 由於未知原因水平超出屏幕水平
- 23. 我如何在cocos2d中水平翻轉水平對於iphone
- 24. 水平居中水平ItemsControl
- 25. 定心問題(水平)
- 26. 定製水平進度條
- 27. Css水平下拉定位
- 28. 在特定滾動水平
- 29. CSS - 定位水平線
- 30. 我們可以使用通配符一流水平在java中
非常感謝你的完美探索,你可以請任何示例顯示此建議,所以這將有助於掌握更多。提前感謝。 – 2013-04-11 11:16:57