아래 코드를 실행하면 몇 개의 cpu가 동작하는지 확인해봤다.
List<String> deletedCid = allIds.parallelStream().filter(this::isDeleted).collect(Collectors.toList());
cpu 개수만큼 thread가 만들어진다.
jstack 으로 확인해보니.특히 Pool은 ForjJoinPool을 사용한다.
cpu가 8개이면, 아래와 같이 생성한다.
"ForkJoinPool.commonPool-worker-1"
...
"ForkJoinPool.commonPool-worker-8"
만약 thread 개수를 늘리고 싶다면, java.util.concurrent.ForkJoinPool.common.parallelism 값으로 조절한다.
-Djava.util.concurrent.ForkJoinPool.common.parallelism=16
'general java' 카테고리의 다른 글
[spring boot] spring boot 1.3이 출시되었다. (0) | 2015.11.26 |
---|---|
[spring boot] undertow (0) | 2015.10.30 |
[spring mongodb] mongodb 색인 추가/삭제 및 jpa로 새로운 색인 생성하기 (2차 색인) (0) | 2015.10.08 |
[spring boot] l7check 막코드 + nginx 설정 (0) | 2015.10.05 |
[spring retry] 재시도 하기 (0) | 2015.10.05 |