Pthread
* thread 표준 API : POSIX 스레드 또는 Pthread(피-스레드)라고 부름
* Pthread API
- 저수준 API로 100여개의 함수 제공
- 복잡하지만, 유직스 시스템 핵심 스레딩 라이브러리
- 다른 스레딩 솔루션도 결국 Pthread를 기반으로 구현되어 있으므로, 익혀둘 가치가 있다
Pthread 라이브러리
* <pthread.h> 헤더 파일에 정의
* 모든 함수는 pthread_로 시작
* 크게 두 가지 그룹
- 스레드 관리 : 생성, 종료, 조인, 디태치 함수 등
- 동기화 : 뮤텍스 등 동기화 관련 함수
* 기본라이브러리(glibc)와 분리된 libpthread 라이브러리에 pthread 구현되어 있으므로 컴파일시 명시적으로 -pthread 옵션이 필요하다
스레드 생성
* thread : 생성된 스레드 식별자
* attr : 스레드 특정 설정 (기본 NULL)
* start_routine : 스레드 함수 (스레드로 분기해서 실행할 함수)
* arg : 스레드 함수 인자
스레드 종료
* exit와 유사, NULL 또는 0은 정상 종료
스레드 조인
* thread : 기다릴 스레드 식별자
* thread_return : 스레드의 리턴 값을 가져올 수 있는 포인터
스레드 디태치
* 해당 스레드가 종료될 경우, 즉시 관련 리소스를 해제(free) 한다
Pthread 뮤텍스 - 상호 배제 기법
* 뮤텍스 선언과 초기화
* 뮤텍스 락 걸기 / 풀기
출처 : 제로베이스
'공부 Note > 시스템 프로그래밍' 카테고리의 다른 글
Chapter 08 시스템 프로그래밍 (2) (0) | 2022.02.07 |
---|---|
Chapter 07 쉘 스크립트 (0) | 2022.02.07 |
Chapter 06 시그널 (0) | 2022.02.07 |
Chapter 05 프로세스간 커뮤니케이션 (0) | 2022.02.07 |
Chapter 04 시스템 프로그래밍 (4) (0) | 2022.02.07 |