CPU가 연산하는 것을 실행이라고 할 수 있을 텐데, 이 때 이 연산의 흐름을 쓰레드라고 표현할 수 있겠다.
보통 프로세스 단위로 가상 메모리 공간이 OS 로부터 제공되니까 프로세스 내부에 N개의 Thread는 프로세스의 메모리 공간을 공유해서 쓸 수 있다. → 근데 그러다보면 쓰레드끼리 공유하는 자원에 대한 순서 조정이 필요하고 이를 동기화라고 한다.
OS는 보통 Process를 기준으로 메모리도 할당하고, 접근 권한들을 통제한다.
이런 구조에서 현재 운영체제 (Linux, Window) 같은 경우에 커널 스케줄러는 플랫폼 스레드(JVM 스레드 아님)를 스케줄링 단위로 삼는다. → 프로세스 단위로 CPU 할당 받는 줄 알았는데 아니였구나..
하드웨어 수준의 구조를 말한다.