스레드 라이브러리
스레드 라이브러리는 **사용자 수준(user-level)**에서 스레드를 생성하고 관리하기 위한 API 집합이다. 이 라이브러리는 사용자 수준에서 구현되어 커널 호출 없이 작동하며, 주요 목적은 스레드 생성, 종료, 동기화, 스케줄링을 관리하는 것이다.
스레드 라이브러리 구현 방식
사용자 수준(User level)
라이브러리 자체가 커널에 의존하지 않고 사용자 공간에서 구현됨
예시: GNU Portable Threads
커널 수준(Kernel level)
커널 내부에서 직접 스레드 라이브러리 API 제공
예시: Windows API, Linux Native POSIX Threads
주요 스레드 라이브러리
POSIX Pthreads
UNIX 계열 시스템에서 사용됨
C 기반의 표준 스레드 API 제공
POSIX 표준에 기반함
Windows Threads
Windows OS에서 제공하는 기본 API
커널 수준에서 직접 관리
C/C++에서 직접 사용 가능
Java Threads
java.lang.Thread
클래스를 통해 제공JVM 위에서 실행됨
내부적으로는 기본 OS의 스레드 기능을 사용
Pthreads 예시
#include <pthread.h>
pthread_t tid;
pthread_create(&tid, NULL, function_pointer, arg);
pthread_join(tid, NULL);
pthread_create()
로 스레드를 생성하고pthread_join()
으로 해당 스레드가 종료될 때까지 대기
Last updated