当前位置: 代码迷 >> java >> java howto同步一组方法
  详细解决方案

java howto同步一组方法

热度:73   发布时间:2023-07-31 13:38:53.0

我有三种方法都访问文件夹中的相同文件。 我使用PersistenceStrategy com.thoughtworks.xstream.persistence.XmlArrayList

问题是许多线程可以使用四种方法中的任何一种进行写入,读取,删除。 由于两种方法都是单独同步的,因此synchronized不会停止READ与另一种方法中与WRITE冲突的方法。

我是在考虑是否将它们全部放入一个类并以某种方式同步于类?

任何想法?

在MyClass.class实例上进行同步是可以接受的,但在许多情况下,最好使用私有锁而不是可以在外部访问的东西。 因此,您可以创建私有final(静态,如果需要)实例并锁定同步块中的实例。

private final Object lock = new Object();