Мы перебираем LinkedList, используя Streams в java8, и создаем другой список.Но из-за состояния гонки размер списка изменился.
List<DesInfo> InfoList = new LinkedList<>();
documentList.stream()
.parallel()
.forEach(document -> {
Info descriptiveInfo = objectFactory.createDescriptiveInfo();
List<Document> documents = new ArrayList<>();
documents.add(document);
descriptiveInfo.setHotelInfo(getHotelInfo(document.get(CODE), documents));
InfoList.add(Info);
});
Если мы запускаем этот код каждый раз, мы видим, что разный размер InfoList генерируется для одного и того же ввода documentList.Я прошел через некоторые форумы, и они упоминают, что LinkedList не является потокобезопасным, и вместо этого я выбрал любой потокобезопасный набор.Но мое требование не позволяет мне измениться помимо LinkedList.Мне нужно использовать функциональность параллельных потоков с тем же LinkedList.
Спасибо, Рагхаван