[問題] 關於synchronized
最近寫一個程式跟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)
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):