[JAVA] 병렬 스트림


[JAVA] 병렬 스트림

병렬 스트림 1 ~ n 까지 모든 숫자를 반환하는 메서드 n이 커지면 병렬로 연산처리하는 게 좋다. 어떤 것부터 코드를 수정해야될까 결과 변수는 어떻게 동기화? 몇 개의 스레드를 생성 숫자는 어떻게 생성할까? 생성된 숫자는 누가 더 할까 병렬 스트림을 사용하면 위 고민없이 문제 쉽게 해결 가능 위 코드를 Stream으로 바꾸면 위와 같다. 이걸 병렬스트림으로 바꾸려면 parallel()을 사용하면 된다. 순차 스트림과 다른 부분은 스트림이 여러 청크로 분할된다는 것이다. 리듀싱 연산을 여러 청크에 병렬로 수행할 수 있다. 마지막으로 리듀싱 연산으로 생성된 부분 결과를 다시 리듀싱 연산으로 합쳐서 전체 스트림의 리듀싱 결과를 도출한다. 순차 스트림에 parallel()을 사용하면 parallel이 true로 설정된다. 병렬 스트림을 순차 스트림으로 바꾸면 parallel이 false로 된다. stream.parallel() .filter() .sequential() .map() .pa...


#병렬스트림 #자바

원문링크 : [JAVA] 병렬 스트림