У меня есть следующий последовательный код, который удаляет записи из хэш-карты, используя другой список ключей. Размер карты может составлять 50-100 тыс. Записей и удалить список ключей может быть 2k - 10k. Я ищу решения, используя новые Java-8 потоков ...ConcurrentHashMap с параллельными потоками для удаления ключей
List<Long> removed = new ArrayList<Long>();
for (Long k : removelist) {
if (null != map.remove(k)) {
removed.add(k);
}
}
Поскольку «HashMap» не является потокобезопасным, любое многопоточное выполнение (потоки или другое) должно было бы блокировать карту для каждой операции, то есть не было бы никакой пользы. Использование «ConcurrentHashMap» позволяет избежать такой блокировки. – dimo414