我写了一个数据库查询的包装,需要从不同的线程访问它。因此,我的应用程序创建该助手类的一个实例,并通过getter返回它。同步本地变量,比同步方法更好?
DbConnection dbc = app.getDatabaseConnection();
synchronized (dbc) {
dbc.doSomething();
}
此代码是否安全?如here所述,它应该工作,尽管在局部变量上同步。只要对象实例保证相同,这是否正确?
DbConnection的所有受影响的实例方法是否是同步更好的方法?
如果可能,你应该让'dbc'为'private',更重要的是'final'。 – Gray