728x90
반응형
하나의 JVM 은 멀티 core 를 사용할 수 있는가?
- JVM 은 하나의 프로세스에서 동작하는 것이 맞다.
- 해당 JVM 에서 스레드를 생성해 사용할 때는 OS 의 스레드를 사용함.
- OS 는 OS 스레드를 스케줄링하는 책임이 있다.
- 이 OS 의 스레드는 다른 multi core 에 있으며, 결국 하나의 JVM 에서 멀티 코어를 사용할 수 있다.
1개 프로세스 멀티 쓰레드 vs 멀티 프로세스 정리
- 1개의 프로세스 멀티 쓰레드가 이론적으로 더 속도가 나올 것이라 생각되지만 막상 벤치마킹 하면 속도차이가 얼마 안난다.
- 스레드 간 문맥교환이 프로세스 간 문맥교환 보다 적은 비용이지만 실제 성능은 비슷하다.
- 멀티 쓰레드는 사용하기 어렵다. 스레드 간 자원 공유를 고려하며, 프로그래밍 해야하기 때문
- 배치 같은 프로그램에서는 멀티 프로세스를 사용해서 프로그램을 돌리는게 더 낫다고 생각한다.
reference
'Java' 카테고리의 다른 글
java primitive vs wrapper 설명 (0) | 2020.11.12 |
---|---|
java Optional 설명 (0) | 2020.11.07 |
자바 클래스, 객체, 인스턴스란? (0) | 2020.11.04 |
singleton pattern 설명 (0) | 2020.10.29 |
람다식 정리 (0) | 2020.10.10 |
댓글