멀티 스레드(다중 스레드)

CODEDRAGON Development/Java

반응형

   

   

멀티 스레드(다중 스레드; Multi-thread)

  • 스레드란 프로세스 내에서 실행되는 세부 작업 단위입니다.
  • 멀티 스레드란 하나의 프로세스에서 여러 개의 스레드가 병행적으로 처리되는 것을 말합니다.
  • 즉, 하나의 프로세스 내에서 여러 개의 작업을 동시에 실행하는 것을 의미합니다.

   


   

   

   

프로세스와 스레드의 관계 도식도

  • 프로세스는 반드시 하나 이상의 스레드(Thread)로 구성됩니다.
  • 스레드는 운영체제가 CPU 시간을 할당하는 기본 단위입니다.
  • 도식도를 통해 단일 스레드와 멀티 스레드의 구조를 확인해 볼 수 있습니다.

   


  

 

 

싱클 스레드(Single Thread) vs 멀티 스레드(Multi Thread)

·       메인스레드는 필요에 따라 작업 스레드를 만들어 병렬로 코드를 실행하여 다중 작업을 할 수 있습니다.

·       싱클스레드에서는 메인 스레드가 종료하면 프로세스도 종료됩니다. 하지만 멀티스레드에서는 실행중인 스레드가 하나라도 남아있으면 프로세스는 종료되지 않습니다. 메인 스레드가 작업 스레드보다 먼저 종료되더라도 작업 스레드가 계속 실행 중이라면 프로세스는 종료되지 않습니다.

 

Single Thread

Multi Thread


 


 


  

   

   

   

반응형