Just do IT
article thumbnail

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 뮤텍스 - 상호 배제 기법
   * 뮤텍스 선언과 초기화
   * 뮤텍스 락 걸기 / 풀기

 

출처 : 제로베이스

profile

Just do IT

@AmyG

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!