synchronized詳解 java synchronized鎖對(duì)象,當(dāng)對(duì)象引用是null的時(shí)候,鎖的是什么?
java synchronized鎖對(duì)象,當(dāng)對(duì)象引用是null的時(shí)候,鎖的是什么?謝謝!Java語言規(guī)范明確指出,如果鎖定的對(duì)象為null,則會(huì)發(fā)生NullPointerException。規(guī)范的內(nèi)容
java synchronized鎖對(duì)象,當(dāng)對(duì)象引用是null的時(shí)候,鎖的是什么?
謝謝
!Java語言規(guī)范明確指出,如果鎖定的對(duì)象為null,則會(huì)發(fā)生NullPointerException。規(guī)范的內(nèi)容如下:
表達(dá)式的類型必須是引用類型,否則會(huì)發(fā)生完全時(shí)間錯(cuò)誤。首先計(jì)算表達(dá)式,執(zhí)行同步語句。然后:如果表達(dá)式的求值由于某種原因而完全完成,那么鎖通常更靈活。主要相似之處:鎖可以完成所有同步實(shí)現(xiàn)的功能。區(qū)別:1。Reentrantlock具有更全面的功能,如時(shí)間鎖等待、可中斷鎖等待、鎖投票等,因此具有更高的可擴(kuò)展性。如果有多個(gè)條件變量和高度競(jìng)爭(zhēng)的鎖,