Pthread 종료 관련 함수
- atexit()
- 종료시 호출될 함수를 등록
- 등록의 역순으로 실행됨
- exit(): 프로그램 전체를 종료
- pthread_exit(void* return_value_ptr): 해당 thread만 종료
- cancel
- pthread_cancel(pthread_t)
- thead에 종료 요청 (즉시 종료는 못함, cancelation point에서만 종료)
- cancelation point: pthread_test_cacnel(), ...
- cancel type
- pthread_setcanceltype() - 타입 설정
- pthread_setcancelstate() - cancel을 할지 안 할지 결정
- type:
- Deferred: cancellation point에서만 종료
- Asyncronous: 즉시 종료 (mutex lock, 메모리 누수 위험)
- pthread_cancel(pthread_t)