[linux] Process 개요

Process 개요

Process와 Thread의 차이

  1. 프로세스는 환경이고, 쓰레드는 실행이다.
  2. 각각의 프로세스는 각각의 독립된 메모리를 가지고 있다. 그렇기 때문에 프로세스는 서로 독립적이다. (ex. 하나의 프로세스가 오류가 난다고 다른 프로세스에 영향을 주지 않는다.)

    각각의 쓰레드는 한 프로세스의 환경을 공유한다. 그렇기 때문에 프로세스내에 쓰레드는 서로에게 영향을 끼칠 수 있다.

  3. 프로세스는 독립적이기 때문에 안정성이 높다. 반대로 쓰레드는 독립적이지 않기 때문에 안정성을 확보하기 어렵다. (그러므로 쓰레드는 잘 컨트롤해주어야 한다.)
  4. 멀티 프로세스는 system call에 의해 만들어지고, 멀티 쓰레드는 thread API에 의해 만들어 진다. (ex. c언어 : pthread API 다른 언어는 만드는 방식이 다르다.)