[問題] 關於synchronized

看板java作者 (夢遊夏威夷)時間16年前 (2010/02/10 23:03), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/2 (看更多)
最近寫一個程式跟SQL有關,一直對database做insert跟delete的動作, 在跑了很久一段時間後,有時會發生 Unable to close due to unfinalised statements trace了一下 發現因為 以下的method 在同步化時 unlock 導致 onAllReferencesReleased() call dbclose() 發生了 exception。 ------------------------------------------------------- private Object mLock = new Object(); ..... public void releaseReference() { synchronized(mLock) { mReferenceCount--; if (mReferenceCount == 0) { onAllReferencesReleased(); } } } 想請問的是 有沒有辦法知道是 那一個 resource 進入了同步化 本來應該一直要lock住,但最後卻 unlock 導致 程式 crash。 謝謝^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.44.12.73

02/10 23:31, , 1F
請小心求證,不要用"你覺得"或是用"感覺"...
02/10 23:31, 1F
※ 編輯: dreamvic 來自: 114.44.12.73 (02/11 00:13)
文章代碼(AID): #1BSigyuY (java)
文章代碼(AID): #1BSigyuY (java)