在Java中同步对象

亚历山大·米尔斯

我正在寻找类似于此语法的内容,即使它不存在。

我想让一个方法作用于一个集合上,并在该方法的整个生命周期中,确保不弄乱该集合。

这样看起来像:

private void synchronized(collectionX) doSomethingWithCollectionX() {
    // do something with collection x here, method acquires and releases lock on
    // collectionX automatically before and after the method is called
}

但是,相反,恐怕这样做的唯一方法是:

private void doSomethingWithTheCollectionX(List<?> collectionX) {
    synchronized(collectionX) {
        // do something with collection x here
    }
}

那是最好的方法吗?

让·洛格特

是的,这是唯一的方法。

private synchronized myMethod() {
    // do work
}

等效于:

private myMethod() {
    synchronized(this) {
         // do work
    }
}

因此,如果您要在之外的其他实例上进行同步,则除了在方法内部this声明synchronized块外,别无选择

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java中的对象同步

来自分类Dev

Java中的同步(对象和静态方法)

来自分类Dev

Java中对象的非同步方法?

来自分类Dev

在java中同步对象是如何工作的

来自分类Dev

跨对象的Java同步

来自分类Dev

跨对象的Java同步

来自分类Dev

如何同步从Java传递到C ++的C ++中的Java对象?

来自分类Dev

Java:在String对象上同步

来自分类Dev

Java同步和对象锁定

来自分类Dev

我们可以称之为同步Java中的对象的构造函数中的对象的方法?

来自分类Dev

JavaScript对象中的同步XMLHttpReqests

来自分类Dev

在Java中的实例同步

来自分类Dev

Java中的同步方法和同步块

来自分类Dev

Java中的同步和同步块

来自分类Dev

在Java中,“同步”是否等效于“同步(this)”?

来自分类Dev

Java-4个线程在两个同步方法中操作相同的对象数据

来自分类Dev

如何在Java中对来自不同对象的相等键进行同步

来自分类Dev

Java中方法,对象,类的同步

来自分类Dev

具有多个对象/锁的Java同步

来自分类Dev

Java同步方法未锁定对象

来自分类Dev

JVM中.class对象的同步范围

来自分类Dev

关于Java中的同步方法

来自分类Dev

高效同步Java中的列表

来自分类Dev

Java Collection中什么同步?

来自分类Dev

Java中的进程同步

来自分类Dev

Java中的同步实例方法

来自分类Dev

Web服务中的Java同步

来自分类Dev

在Java中同步单例

来自分类Dev

Java中的同步嵌套集合