# 프로세스와 스레드의 차이

# 프로세스

  • 컴퓨터의 메모리에 올라와 실행되고 있는 프로그램
  • task와 같은 의미로 쓰임 alt text

# 스레드

  • 프로세스 내 작업의 흐름을 지칭

# 프로세스와 스레드의 차이

  1. 프로세스는 코드, 데이터, 스택, 힙 메모리 영역을 기반으로 작업. 스레드는 프로세스 내의 스택 메모리를 제외한 다른 메모리 영역을 프로세스 내의 다른 스레드들과 공유 (메모리적 이점이 있음)
  2. 프로세스는 다른 프로세스와 격리되어 있기 때문에 서로 통신을 위해서는 IPC를 사용해야 함. 스레드는 그냥 통신 가능하므로 프로세스보다 더 빠름
  3. 프로세스와 달리 스레드는 한 스레드에 문제가 생기면 다른 스레드에도 영향을 끼칠 수 있음
  4. 프로세스보다 스레드의 생성과 종료가 더 빠름