-
Java8. parallelSortBackEnd/Java 2022. 1. 25. 22:44반응형
Arrays.parallelSort(): Fort/Join 프레임워크를 사용해서 배열을 병렬로 정렬하는 기능을 제공합니다. 병렬 정렬 알고리즘은 배열을 둘로 계속 쪼개고 합치면서 정렬합니다.
import java.util.Arrays; import java.util.Random; import java.util.stream.IntStream; public class ParallelSortClass { public static void main(String[] args) { // 정렬하는 배열의 크기에 따라 결과는 달라질 수 있습니다. int size = 1500; int[] numbers = new int[size]; Random random = new Random(); IntStream.range(0, size).forEach(i -> numbers[i] = random.nextInt()); long start = System.nanoTime(); // serial sorting: 싱글 쓰레드로 정렬합니다. Arrays.sort(numbers); System.out.println("serial sorting took " + (System.nanoTime() - start)); // [결과]: 806358 IntStream.range(0, size).forEach(i -> numbers[i] = random.nextInt()); start = System.nanoTime(); // parallel sorting: 병렬로 정렬을 수행합니다. Arrays.parallelSort(numbers); System.out.println("parallel sorting took " + (System.nanoTime() - start)); // [결과]: 351210 } }
실행할 때마다 결과는 상이하지만, Arrays.parallelSort가 Arrays.sort 보다 느린 경우는 없습니다.
반응형'BackEnd > Java' 카테고리의 다른 글
Java 9. 주요 변경 내용 (1) (0) 2024.12.03 Java 9. JPMS (0) 2024.12.02 Java8. CompletableFuture (0) 2022.01.23 Callable과 Future (0) 2022.01.23 Multi-Thread Programming (0) 2022.01.23