스레드 와 동시성 - Thread & Concurrency - 2

chanto11

·

2021. 3. 23. 14:19

두 타입의 스레드

 

- user thread

= 커널 위에서 동작, 커널의 도움없이 관리

- kernel thread

= OS에서 직접 관리

 

- user thread 와 kernel thread 관계

 

- thread library 제공

  • POSIX Pthreads : IEEE 1003.1c 표준
  • Windows thread
  • OSX NSThread
  • java thread

Implicit Threading : 암시적 스레딩

 

= 동시성과 병렬처리에 대한 디자인 설계가 너무 어려워서

= 쓰레드의 스케줄링을 사용자가 하는 것이 아니라 운영체제 또는 컴파일러에게 맞기는 것.

 

- Thread Pools : 일정 갯수의 스레드 풀 에서 스레드 작업을 하는 방식.

- Fork & Join : explicit threading -> implicit threading 

- OpenMP : 공유 메모리 다중 처리 프로그래밍 API (컴파일러 지시어 사용두 타입의 스레드

 

 

- user thread

 

= 커널 위에서 동작, 커널의 도움없이 관리

 

- kernel thread

 

= OS에서 직접 관리

 

 

 

- user thread 와 kernel thread 관계

 

 

 

- thread library 제공

 

POSIX Pthreads : IEEE 1003.1c 표준

Windows thread

OSX NSThread

java thread

Implicit Threading : 암시적 스레딩

 

 

= 동시성과 병렬처리에 대한 디자인 설계가 너무 어려워서

 

= 쓰레드의 스케줄링을 사용자가 하는 것이 아니라 운영체제 또는 컴파일러에게 맞기는 것.

 

 

 

- Thread Pools : 일정 갯수의 스레드 풀 에서 스레드 작업을 하는 방식.

 

- Fork & Join : explicit threading -> implicit threading 

 

- OpenMP : 공유 메모리 다중 처리 프로그래밍 API (컴파일러 지시어 사용)

- Grand Central Dispatch (GCD) : 멀티 코어 프로세서 시스템에 대한 응용 프로그램 지원을 최적화하기 위해 Apple에서 개발한 기술