같은 프로세스의 전역 변수와 힙을 공유하므로 데이터 전달 비용이 낮습니다.
스레드는 주소 공간을 공유하지만 실행 위치는 각자 들고 간다
가벼운 실행 단위라는 장점은 공유 메모리에서 오는 경쟁 조건, 교착 상태, 우선순위 역전 위험과 함께 이해해야 합니다.
shared코드 힙 파일 디스크립터
private스택 PC 레지스터
concur번갈아 실행
parallel여러 코어 동시 실행
각 스레드는 자기 스택과 레지스터를 가져 함수 호출 흐름을 독립적으로 유지합니다.
한 작업이 I/O를 기다릴 때 다른 스레드가 요청을 처리합니다.
멀티코어에서는 계산 작업을 여러 스레드로 나누어 실제 동시 실행을 얻을 수 있습니다.
공유 변수를 동시에 수정하면 읽기, 증가, 쓰기 순서가 섞여 결과가 달라질 수 있습니다.
뮤텍스, 세마포어, 데드락은 모두 공유 상태를 안전하게 다루기 위한 후속 주제입니다.