我有一个数据库对象,它以各种数据结构存储对象。有几个线程访问此数据库,但数据库并不总是最新的。 如果我在一个线程中更改对象的名称,则更改仅反映在其他线程中,如果它们尚未访问该对象。 如果我在一个线程中添加一个新项,则所有线程都能够查看此项。
我已经尝试将数据库对象声明为volatile,但问题仍然存在,而且我完全没有想法......
谢谢!
编辑:问题被追溯到我的objectOutputStream上没有调用.reset()
答案 0 :(得分:1)
您需要同步对数据库对象实例的访问。
在Java中,有两个基本同步习惯用法:
synchronized
关键字应用于访问数据库对象实例的方法)synchronized
块内的数据库对象实例的代码)。答案 1 :(得分:0)