12장 병렬성과 비동기성(p.467 ~ p.470)
운영체제는 프로세스를 관리한다. 프로세스는 사용자 공간에서 실행되는 프로그램이다.
스레드는 정적인 데이터와 힙을 공유하지만 자체적으로 스택을 갖는 프로그램의 일부분이다. 한 스레드에서 다른 스레드로 실행이 넘어갈 때는 스레드 스케쥴러가 CPU 레지스터를 저장해야 한다.
스레드는 프로세스의 문맥 전환보다 빠르기 때문에 경량 프로세스라고 부르기도 한다.
하지만 스레드가 무조건 좋은 것은 아니다.
데이터를 공유하기 때문에 보안문제가 생길 수 있고, 버그가 발생하면 전체 프로세스에 영향을 끼친다. 또한 한 스레드의 작업이 너무 오래 걸리면 다른 모든 스레드가 실행되지 못한다.
잠 푹 자보고 싶다.