0

我有一个数据库对象,它以各种数据结构存储对象。多个线程访问此数据库,但数据库并不总是最新的。如果我在一个线程中更改对象的名称,那么只有在其他线程尚未访问该对象时,更改才会反映在其他线程中。如果我在一个线程中添加新项目,则所有线程都可以查看该项目。

我尝试将数据库对象声明为易失性,但问题仍然存在,我完全没有想法......

谢谢!

编辑:问题被追溯到没有调用.reset()我的 objectOutputStream

4

2 回答 2

1

您需要同步对数据库对象实例的访问。

在 Java 中有两个基本的同步习惯用法:

  • 同步方法(将synchronized关键字应用于访问数据库对象实例的方法)
  • 同步语句(将访问数据库对象实例的代码包装在synchronized块内)。

更多细节

于 2013-05-13T22:20:02.277 回答
0

好吧,你可以复制数据是一个新的实例,并且这个实例上的 OP 就像 memcached 缓存设计一样。步骤: 1.获取实例 2.复制实例 3.修改实例 4.使用

于 2013-05-14T07:53:14.087 回答