Java/개념
10. 프로세스(process)와 스레드(thread)
열지희공
2021. 2. 26. 21:34
1. 프로세스(process): 실행 중인 하나의 애플리케이션
예를들어, 사용자가 애플리케이션을 실행하면 운영체제로부터 실행에 필요한 메모리를 할당받아 애플리케이션으 코드를 실행하는데 이것이 프로세스임
2. 스레드(thread) : 한 가지 작업을 실행하기 위해 순차적으로 실행할 코드를 실처럼 이어 놓았다고 해서 유래된 이름
하나의 스레드는 하나의 코드 실행 흐름이기 때문에 한 프로세스 내에 스레드가 두 개라면 두 개의 코드 실행 흐름이 생긴다는 의미
3. 멀티 프로세스와 멀티 스레드
멀티 프로세스
운영체제에서 할당받은 자신의 메모리를 가지고 실행하기 때문에 서로 독립적
-> 하나의 프로세스에서 오류가 발생해도 다른 프로세스에게 영향 미치지 x
멀티 스레드
하나의 프로세스 내부에서 생성되기 때문에 하나의 스레드가 예외를 발생시키면 프로세스 자체가 종료될 수 있어 다른 스레드에게 영향을 미치게 됨