7022407: Spinning CPU in LocaleObjectCache.get()

Reviewed-by: okutsu
This commit is contained in:
Naoto Sato 2011-07-12 10:28:37 -07:00
parent 082623e70e
commit e3c0616ac7

View File

@ -66,14 +66,14 @@ public abstract class LocaleObjectCache<K, V> {
CacheEntry<K, V> newEntry = new CacheEntry<>(key, newVal, queue);
while (value == null) {
cleanStaleEntries();
entry = map.putIfAbsent(key, newEntry);
if (entry == null) {
entry = map.putIfAbsent(key, newEntry);
if (entry == null) {
value = newVal;
} else {
value = entry.get();
if (value == null) {
map.put(key, newEntry);
value = newVal;
break;
} else {
value = entry.get();
}
}
}