[Java][Thread] 프로세스와 쓰레드
2022. 6. 28. 17:58ㆍJAVA/Language
1. 프로세스와 쓰레드는 무엇인가?
- 프로세스 : 실행중인 하나의 프로그램
- 쓰레드 : 하나의 프로세스안에서 수행되는 1개 이상의 작은 프로세스(경량 프로세스라고도 부름)
프로세스의 구성
위 그림에서 하나의 프로세스가 하나의 쓰레드를 가지고 있으면 싱글쓰레드 프로세스라고 부르고 쓰레드가 2개 이상이라면 멀티쓰레드 프로세스라고 부릅니다.
2. 멀티태스킹과 멀티쓰레딩
- 멀티태스킹(MultiTasking, 멀티프로세싱) : 메모리 위에 여러개의 프로세스를 올려두고 실행하는 것을 의미합니다.
- 멀티쓰레딩(MultiThreading) : 하나의 프로세스 내에서 여러 쓰레드가 동시에 작업을 수행하는 것을 의미합니다.
3. 멀티쓰레딩의 장단점
- CPU의 사용률을 향상시킴
- 자원을 보다 효율적으로 사용할 수 있음
- 사용자에 대한 응답성 향상
- 작업이 분리되어 코드가 간결해짐
References
source code : https://github.com/yonghwankim-dev/java_study/tree/main/ch13
[도서] Java의 정석, 남궁 성 지음
'JAVA > Language' 카테고리의 다른 글
[Java][Thread] 쓰레드 클래스의 start()와 run() 메서드 (0) | 2022.06.30 |
---|---|
[Java][Thread] 쓰레드의 구현과 실행 (0) | 2022.06.28 |
[Java][I/O] 직렬화(Serialization) (0) | 2022.06.28 |
[Java][I/O] 표준입출력과 File (0) | 2022.06.28 |
[Java][I/O] 문자기반의 보조스트림 (0) | 2022.06.27 |