프로세스와 쓰레드
프로세스
- 메모리 상에 로딩된 프로그램
쓰레드
- 프로세스 내에서 실행되는 작업 단위
- 하나의 프로세스 내에서 여러 쓰레드가 동시에 실행될 수 있다.
- 프로세스는 최소 하나 이상의 쓰레드로 실행되며 자바의 경우 실행 시점에 main 쓰레드를 생성하여 작업을 실행한다.
쓰레드의 동시성
- 쓰레드를 실행하는 주체는 CPU 의 코어로서 코어의 수가 쓰레드의 수보다 작을 경우 코어는 쓰레드를 번갈아가면서 실행된다. 이 때, 번갈아가면서 실행되는 주기는 사람이 인지할 수 없을 정도로 매우 짧아 사용자는 마치 동시에 실행되는 것처럼 느낀다. 이를 쓰레드의 동시성이라고 한다.
쓰레드의 병렬성
- CPU 의 코어 수가 쓰레드의 수 이상일 때 각각의 코어는 하나의 쓰레드를 담당하여 실행, 즉 병렬적으로 처리한다.
'Java' 카테고리의 다른 글
애너테이션 (0) | 2022.09.06 |
---|---|
Thread의 동기화 처리 (0) | 2022.09.04 |
Demon Thread (0) | 2022.09.04 |
JVM - Java Virtual Machine (0) | 2022.08.30 |
자바 소스 코드의 실행 과정 (0) | 2022.08.30 |