rows = types.stream().parallel().map(s -> { switch (s){ case NDBaseDocumentModel.DOC_TYPE_NSS: return getDocsOfSpecificTypeAndCountItsDupes(NDGostStandardsModel.TYPE_ND_GOST_STANDARDS, null,systemMessages.getString("form20.nss.name")).values(); case NDBaseDocumentModel.DOC_INT_REG_STANDARDS: return getDocsOfSpecificTypeAndCountItsDupes(NDIntRegStandardsModel.TYPE_ND_INT_REG_STANDARDS, null,systemMessages.getString("form20.int_reg")).values(); } return new HashSet<Form20Row>(); }).flatMap(o -> { return o.stream(); }).collect(Collectors.toList());
Если убрать вызов parallel() то код как и ожидается выдаёт множество объектов Form20Row в коллекции. Если добавить вызов parallel() то код выдаёт ноль объектов в коллекции.
Скажите пожалуйста, почему так и что я делаю не правильно для параллельного режима обработки? Мне обязательно нужен параллельный режим т.к. коллекции очень большие.
Спасибо!