when using parallelStream + flatMap(),flatMap will reset stream to sequential use map() + reduce() to concat the stream xxx.parallelStream().map(…).reduce(Stream::concat).orElse(Stream.empty()) https://stackoverflow.com/questions/45038120/parallel-flatmap-always-sequential/66386078#66386078