Код: Выделить всё
Stream words = Stream.of("a", "b", "a", "c");
Map wordsCount = words.collect(toMap(s -> s, s -> 1,
(i, j) -> i + j));
Но мой поток очень большой, и я хочу параллельно, так что я пишу:
Map wordsCount = words.parallel()
.collect(toMap(s -> s, s -> 1,
(i, j) -> i + j));
Однако я заметил, что wordscount -это простой хэшмап , поэтому мне интересно, нужно ли мне явно попросить одновременную карту, чтобы обеспечить безопасность потока:
Map wordsCount = words.parallel()
.collect(toConcurrentMap(s -> s, s -> 1,
(i, j) -> i + j));
могут ли не совместные коллекционеры безопасно использовать с параллельным потоком или я должен использовать одновременные версии только при сборе из параллельного потока?
Подробнее здесь: https://stackoverflow.com/questions/223 ... ead-safety