java創(chuàng)建對(duì)象 JAVA線(xiàn)程獲取對(duì)象的鎖,其他線(xiàn)程還能修改這個(gè)對(duì)象么?
JAVA線(xiàn)程獲取對(duì)象的鎖,其他線(xiàn)程還能修改這個(gè)對(duì)象么?如果某個(gè)線(xiàn)程正在使用此對(duì)象,其他線(xiàn)程將無(wú)法再使用它。它只能在關(guān)閉后使用,除非它是一個(gè)可以被其他線(xiàn)程多次訪(fǎng)問(wèn)的穩(wěn)定值。java synchroniz
JAVA線(xiàn)程獲取對(duì)象的鎖,其他線(xiàn)程還能修改這個(gè)對(duì)象么?
如果某個(gè)線(xiàn)程正在使用此對(duì)象,其他線(xiàn)程將無(wú)法再使用它。它只能在關(guān)閉后使用,除非它是一個(gè)可以被其他線(xiàn)程多次訪(fǎng)問(wèn)的穩(wěn)定值。
java synchronized鎖對(duì)象,當(dāng)對(duì)象引用是null的時(shí)候,鎖的是什么?
謝謝
!Java語(yǔ)言規(guī)范明確指出,如果鎖定的對(duì)象為null,則會(huì)發(fā)生NullPointerException。規(guī)范的內(nèi)容如下:
表達(dá)式的類(lèi)型必須是引用類(lèi)型,否則會(huì)發(fā)生完全時(shí)間錯(cuò)誤。首先計(jì)算表達(dá)式,執(zhí)行同步語(yǔ)句。然后:如果表達(dá)式的求值由于某種原因完全完成,那么synchronized語(yǔ)句也會(huì)因?yàn)橥瑯拥脑蛲蝗煌瓿?。否則,如果表達(dá)式的值為null,則拋出NullPointerException。