스트림병렬화

    [Effective Java] 스트림 병렬화는 주의해서 적용하라

    자바의 동시성 프로그래밍 첫 릴리스에서부터 스레드, 동기화, wait/notify를 지원했다. 자바 5부터는 동시성 컬렉션인 java.util.concurrent 라이브러리와 실행자 프레임워크를 지원했다. 자바 7부터는 고성능 병렬 분해 프레임워크 포크-조인 패키지를 추가했다. 자바 8부터는 parallel 메서드만 한 번 호출하면 파이프라인을 병렬 실행할 수 있는 스트림을 지원했다. 동시성 프로그래밍에서는 안전성과 응답 기능 상태를 유지하는 것이 중요한 포인트인데, 자바의 많은 지원에도 올바르고 빠르게 작성하는 일은 여전히 어렵다. 병렬 스트림의 잘못된 사용 다음은 스트림을 사용해 처음 20개의 메르센 소수를 생성하는 프로그램이다. public static void main(String[]args){ ..