https://docs.oracle.com/javase/8/docs/a ... .Function-
Предположим, у нас есть 10 потоков, вызывающих следующие коды с разными значениями ключей. аргумент «Функция», предоставленный методу «computeIfAbsent», выполняется параллельно, или «computeIfAbsent» «заблокирует» всю таблицу?
Map map = new ConcurrentHashMap();
map.computeIfAbsent(key, K -> { // long time operation });
Подробнее здесь: https://stackoverflow.com/questions/588 ... ed-locking
Мобильная версия