TIL57. thread ? process ?

Jaeyeon·2021년 3월 21일
0
post-thumbnail

thread

thread 란?

  • 프로세스 내에서 실제로 작업을 수행하는 주체를 의미한다.
  • 모든 프로세스에는 한 개 이상의 스레드가 존재하여 작업을 수행한다. 여러개의 스레드를 만들 수 있다.
  • 두개 이상의 스레드를 가지는 프로세스를 멀티스레드 프로세스 라고 한다.

thread의 장점

  • 빠른 프로세스 생성
  • 프로세스 자원과 메모리 공유가능
  • 경제성이 좋다
  • 다중 처리로 성능과 효율 향상

multi thread란 ?

  • 하나의 프로세스를 다수의 실행 단위로 나누어 실행하는 것을 의미한다.

muti thread 장점

  • 문맥 교환에 소비되는 시간을 줄일 수 있다.
  • 자원을 공유하기 때문에 메모리 낭비를 줄일 수 있다.

multi thread 단점

  • 하나의 스레드가 비정상적으로 종료될 시, 다른 스레드도 종료될 수 있다.
  • 동기화 작업이 필요하다.

process

process 란?

  • 실행 중인 프로그램 이라고 할 수 있다.
  • 즉, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행중인 것을 말한다.
  • 우리가 웹 서핑을 하기 위해 크롬 아이콘을 더블 클릭하는 순간 하나의 프로세스가 동작
  • 프로세스는 프로그램에 사용되는 데이터와 메모리 등의 자원, 그리고 스레드로 구성된다.

multi process 란?

  • 다수의 프로세스를 실행하는 것을 의미한다.

multi process 장점

  • 하나의 프로세스가 비정상적으로 종료되더라도 다른 프로세스가 영향을 받지 않는다.
  • 멀티 스레드처럼 동기화 작업이 별도로 필요하지 않다.

multi process 단점

  • 자원소모, 메모리 낭비, 문맥 교환으로 인한 비효율성
  • IPC 통신으로 인한 비용

muti process 보다 multi thread를 지향하는 이유

  1. 자원의 효율성

  2. 처리 비용 감소 및 응답 시간 단축

profile
생각하는 개발자 되기

0개의 댓글