Java中与C#中lock关键字等效的是什么?

11

Java中与C#的lock关键字等效的是什么?

例如:

public int Next() {
  lock (this) {
    return NextUnsynchronized();
  }
}

我该如何将这个C#方法移植到Java?


http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/Lock.html - 0x90
2个回答

22
public int Next() {
    synchronized (this) {
        return NextUnsynchronized();
    }
}

就是这样。下一段代码更好。

public synchronized int Next() {
    return NextUnsynchronized();
}

同步方法似乎是一个好的解决方案! - user3111311
@user3111311请选择答案> o < - ikh
@Lee,你必须发布与答案/问题相关的评论。不要以这种方式使用评论; - ikh

0
java.util.concurrent.locks.Lock    
lock.lock();

    int newCount = ++count;
    lock.unlock();

显然在你的例子中不需要,但在一般情况下,你应该编写try {...} finally {lock.unlock();}。 - Solomon Slow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接