java如何通过一组方法进行同步

时间:2011-03-29 08:02:40

标签: java synchronization

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

事情是许多线程可以使用四种方法中的任何一种进行写入,读取和删除 女巫都是同步的。 synchronized不会从一个方法停止READ 在另一种方法中与WRITE冲突,因为两种方法都是单独同步的。

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

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

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

private final Object lock = new Object();