현재까지는 흐름(쓰레드가)이 하나뿐인 프로세스를 생각해 왔다.

그러나, 하나의 프로세스는 여러개의 쓰레드들을 컨트롤 할 수 있다.

→이 때, 이 pc(program counter)즉, register set 정보만 별도로 유지 한다면, 하나의 프로그램(프로세스 안에서) 굳이 fork할 필요 없이, 실행 쓰레드만 달리 할 수 있다.

⇒ 멀티 쓰레드를 배우기 위해 멀티 프로세스를 배웠다고 해도 과언이 아니다!

자바는 언어및 자바 가상머신을 디자인 할 때 부터 쓰레드 모델을 도입해서, 쓰레드 기반으로 개발을 했다. API도 매우 쉽게 사용할 수 있게 되어있다. → 쓰레드의 생성 및 관리가 매우 용이 하다.

스크린샷 2022-06-29 오후 12.07.41.png

스크린샷 2022-06-29 오후 12.10.15.png

멀티코어 시스템에서는 멀티쓰레딩이 조금 더 복잡해졌다.