프로세스와 쓰레드

프로세스

  • 메모리 상에 로딩된 프로그램

쓰레드

  • 프로세스 내에서 실행되는 작업 단위
  • 하나의 프로세스 내에서 여러 쓰레드가 동시에 실행될 수 있다.
  • 프로세스는 최소 하나 이상의 쓰레드로 실행되며 자바의 경우 실행 시점에 main 쓰레드를 생성하여 작업을 실행한다.

 

쓰레드의 동시성

쓰레드의 동시성은 동시에 실행되는 것이 아닌 동시에 실행되는 것처럼 보이게하는 현상이다.

  • 쓰레드를 실행하는 주체는 CPU 의 코어로서 코어의 수가 쓰레드의 수보다 작을 경우 코어는 쓰레드를 번갈아가면서 실행된다. 이 때, 번갈아가면서 실행되는 주기는 사람이 인지할 수 없을 정도로 매우 짧아 사용자는 마치 동시에 실행되는 것처럼 느낀다. 이를 쓰레드의 동시성이라고 한다.

 

쓰레드의 병렬성

  • CPU 의 코어 수가 쓰레드의 수 이상일 때 각각의 코어는 하나의 쓰레드를 담당하여 실행, 즉 병렬적으로 처리한다.

'Java' 카테고리의 다른 글

애너테이션  (0) 2022.09.06
Thread의 동기화 처리  (0) 2022.09.04
Demon Thread  (0) 2022.09.04
JVM - Java Virtual Machine  (0) 2022.08.30
자바 소스 코드의 실행 과정  (0) 2022.08.30

+ Recent posts