공유 자원
코드, 힙, 전역 데이터는 같은 프로세스의 스레드들이 공유한다.
프로세스보다 가볍게 병렬 작업을 만들 수 있지만, 공유 데이터 접근에는 동기화가 필요하다.
코드, 힙, 전역 데이터는 같은 프로세스의 스레드들이 공유한다.
각 스레드는 자신의 스택과 레지스터, 실행 위치를 가진다.
공유 데이터를 동시에 바꾸면 실행 순서에 따라 결과가 달라질 수 있다.
mutex, semaphore 같은 도구로 임계 구역 접근을 제어한다.
스레드는 “가벼운 프로세스”로만 외우기보다, 무엇을 공유하고 무엇이 독립적인지 구분해야 한다.