코틀린 & Java

Multi Thread(멀티 스레드)

코딩하는후운 2021. 3. 26. 16:20
반응형
  • 프로세스(Process) : 실행 중인 하나의 애플리케이션(애플리케이션인 Chrome 브라우저를 두 개 실행 시키면, 두 개의 Chrome Process가 생성된 것)
  • 멀티 스레드(Multi thread) : 하나의 Process가 두 가지 이상의 작업을 처리할 수 있도록 하는 것.

 

멀티쓰레딩의 장점

  • CPU의 사용률을 향상시킨다.
  • 자원을 보다 효율적으로 사용할 수 있다.
  • 사용자에 대한 응답성이 향상된다.
  • 작업이 분리되어 코드가 간결해진다.

주의할점

멀티쓰레드 프로세스는 여러 쓰레드가 같은 프로세스 내에서 자원을 공유하면서 작업을 하기 때문에 발생할 수 있는 동기화(synchronization), 교착상태(deadlock)와 같은 문제들을 고려해서 신중히 프로그래밍 해야한다.

 

교착상태) 두 쓰레드가 자원을 점유한 상태에서 서로 상대편이 점유한 자원을 사용하려고 기다리느라 진행이 멈춰있는 상태

 

 

멀티 스레드의 쓰임새

  • 대용량 데이터의 처리 시간을 줄이기 위해 데이터를 분할 후 병렬로 처리
  • UI를 가지고 있는 애플리케이션에서 네트워크 통신을 위해 사용
  • 다수 클라이언트의 요청을 처리하는 서버를 개발할 때 사용

 

 

 

 

출처 : 

자바의정석3 (남궁 성 지음)

velog.io/@kkw9312/javaMultiThread

blog.eomdev.com/java/2016/04/06/Multi-Thread.html

ict-nroo.tistory.com/41

 

 

반응형

'코틀린 & Java' 카테고리의 다른 글

스트림 함수  (0) 2021.08.04
Kotlin 코딩규칙 서식  (0) 2021.07.07
Kotlin 코딩규칙 명명 규칙  (0) 2021.07.07
Kotlin 코딩규칙 소스 코드 구성  (0) 2021.07.07
메모리 구조(static, stack, heap)  (0) 2021.03.29