最贊回答 / aka_KK
當然不行了,這個你打開IDE試一下不就知道了嘛?synchronized的兩種用法:1.對象鎖? ? 方法鎖(修飾方法,默認鎖對象為this當前實例對象)? ? 同步代碼塊鎖(修飾代碼塊,自己指定鎖對象)2.類鎖? ? 修飾靜態的方法或指定鎖為Class對象(同步代碼塊使用Class對象做鎖)
2019-02-19
最贊回答 / qq_Wzl_3
我對jvm不太了解,但用Linux中的給你解釋下。
當一個線程想去獲取一把鎖而獲取不到時,是處在一個死循環狀態。
while( 沒有得到鎖)
{
???? 嘗試獲取鎖;
}
所以就相當于死在了這個循環里面。
當然還有嘗試鎖,先嘗試獲取,沒獲取到就退出,而不是死在循環中。
鎖的內容還有很多,慢慢學吧。
2019-01-09