입력을 가져 와서 병렬 스트림을 적용하려면 출력을 목록으로 원합니다. 입력은 우리가 스트림을 적용 할 수있는 모든 목록 또는 컬렉션 일 수 있습니다. java 8의 병렬 스트림에서 수집
여기 내 문제
는 우리가 그들을지도로 출력을 원한다면 우리는 자바에서 옵션이list.parallelStream().collect(Collectors.toConcurrentMap(args))
처럼하지만에 스레드 안전한 방법으로 병렬 스트림에서 수집 볼 수있는 옵션이없는 가지고있다 출력으로서리스트를 제공한다. 내가 거기에 또 하나의 옵션은 우리가 수집 방법의 다양한 동시 구현을 제공 할 수있는이 방법으로
list.parallelStream().collect(Collectors.toCollection(<Concurrent Implementation>))
을 사용하십시오. 하지만 CopyOnWriteArrayList List 구현 만 java.util.concurrent에 있다고 생각합니다. 여기에 다양한 대기열 구현을 사용할 수 있지만 목록과 다를 수 있습니다. 여기서 내가 의미하는 바는 우리가 목록을 얻기위한 해결 방법이 될 수 있다는 것입니다.
출력을 목록으로 원하면 가장 좋은 방법은 무엇인지 안내해주세요.
참고 : 이와 관련된 다른 게시물을 찾을 수 없으므로 참조가 도움이됩니다.
'Collections.synchronizedList (새 ArrayList <>())'를 전달할 수 없습니까? –
@ OleV.V. 필요 없음. Collection 객체는 스레드로부터 안전 할 필요는 없습니다. – Andreas