08 멀티쓰레딩

개발 99·2025년 4월 4일

공룡책

목록 보기
8/22

스레드는 2개의 타입이 있다.

  • user
    JVM은 OS의 core를 마음대로 할당받을 수 없다.
    이와 같은 애플리케이션을 user thread라고 한다.
    ( 참고로, native thread가 커널을 이용한다. )
    kernel support 없이 실행

  • kernel
    core를 직접 제어를 한다 -> kernel 스레드
    OS가 직접 관리를 한다.

kernel와 user thread간의 관계

  • user : kernel = 1:N, N:1, N:M

Theard library

  • POSIX Pthreads

  • Windows thread

  • Java thread(JVM)

The Strategy of Implicit Threading

(Excutor Framework)

concurrent + parallel한데, 이를 compiler와 library에 의존.

  • Thread Pools
    여러개의 스레드를 풀에 저장해서 필요할 때마다 사용한다.
    ( 다하고 반납 )

  • Fork & Join
    new Thread와 wait

  • OpenMP
    컴파일러 지시어로 C/C++로 처리
    코드 블록을 알아서 병렬로 처리

profile
구구구구구!

0개의 댓글