我寫了一個數據庫查詢的包裝,需要從不同的線程訪問它。因此,我的應用程序創建該助手類的一個實例,並通過getter返回它。同步本地變量,比同步方法更好?
DbConnection dbc = app.getDatabaseConnection();
synchronized (dbc) {
dbc.doSomething();
}
此代碼是否安全?如here所述,它應該工作,儘管在局部變量上同步。只要對象實例保證相同,這是否正確?
DbConnection的所有受影響的實例方法是否是同步更好的方法?
如果可能,你應該讓'dbc'爲'private',更重要的是'final'。 – Gray