【发布时间】:2019-04-11 14:26:55
【问题描述】:
全部采用多线程编程,没有 Guava。
我的问题与this one 相同,但我想在没有break; 的情况下解决它。我已经阅读了这个主题,但仍然没有解决问题,我在多线程中出生,所以也许解决方案在这里,但我看不到它。
我正在数单词。如果这个词已经满足,则增加值,如果没有,只需将新节点放入映射中,键为word和value 1。
这是我的代码,它是错误的。我想避免任何循环。
String word = m.group();
if(wordMap.putIfAbsent(word, 1) == null){
Integer old;
while (!wordMap.replace(word, old = wordMap.get(word), old + 1));
}
【问题讨论】:
标签: java multithreading thread-safety java.util.concurrent concurrenthashmap