Language/java
[Java] 쓰레드_프로세스와 쓰레드
gamxong
2022. 8. 2. 22:34
프로세스 : '실행 중인 프로그램'
프로세스는 프로그램을 수행하는 데 필요한 데이터와 메모리 등의 자원 그리고 쓰레드로 구성되어 있음
쓰레드 : 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것
멀티쓰레드 프로세스 : 둘 이상의 쓰레드를 가진 프로세스
멀티태스킹과 멀티쓰레딩
멀티쓰레딩 : 하나의 프로세스 내에서 여러 쓰레드가 동시에 작업을 수행하는 것
CPU의 코어가 한 번에 단 하나의 작업만 수행할 수 있으므로, 실제로 동시에 처리되는 작업의 개수는 코어의 개수와 일치
멀티쓰레딩의 장단점
멀티 쓰레딩의 장점
- CPU의 사용률을 향상시킨다.
- 자원을 보다 효율적으로 사용할 수 있다.
- 사용자에 대한 응답성이 향상된다.
- 작업이 분리되어 코드가 간결해진다.
메신저로 채팅하면서 파일을 다운로드 받거나 음성대화를 나눌 수 있는 것이 가능한 이유
▶ 멀티쓰레드로 작성되어 있기 때문