【发布时间】:2012-10-15 06:50:16
【问题描述】:
本题基于Synchronizing on an Integer results in NullPointerException,源于本题Synchronizing on an Integer value
我想知道在 Java 中增加锁数量的最佳方法是什么。除了在ConcurrentHashMap 中实现的以外,即基于固定数组并通过计算键的哈希来引用数组的索引?
以下是预期的。
如果一个对象的doMoreThing() 正在处理中,那么如果它从不同的线程调用,我不应该为同一个对象执行doAnotherThing()。
public void doSomething(int i) {
doAnotherThing(i);// some checks here based on it it will call to
// doMoreThing
doMoreThing(i);
}
【问题讨论】:
-
您的问题难以理解。 ConcurrentHashMap 不会“增加 Java 中的锁数”。从“下面是我的例子,如果我这样做”,你的帖子是难以理解的。
-
你能否请您限制自己的原始问题,而不是重复发布它。
-
@EJP 因为这是完全不同的上下文。在上一个问题中,上下文受到限制,因为我提到了一些不提供解决方案的实现。所以现在的问题是有不同的方法。不知道你怎么看这两件事是一样的。如果您知道解决方案,我很乐意收到您的来信:)
标签: java concurrency locks