2021. 3. 12. 15:37ㆍComputer(인강)/시스템 프로그래밍
안녕하세요 bannavi입니다^ㅅ^
오늘은 지난시간에 이어서 스레드 함수에 대해서 살펴보도록 하겠습니다.
바로 시작하겠습니다.
스레드 디태치
# 해당 스레드가 종료될 경우, 즉시 관련 리소스를 해제(free)한다
- pthread_join을 기다리지 않고, 종료 즉시 리소스를 해제한다
참고. 스레드 디태치와는 달리, 스래드 조인은 pthread_join으로 스레드가 종료가 되면 해당 영역이 없어지고
그다음 이 종료 상태값을 가지고 별도의 처리를 메인스레드에서 추가적으로 할 수 있게끔 하는것이다.
다시 정리!
리소스 측면에서보면
pthread_join스레드조인 : 해당 스레드가 종료하면 해당스레드에 대해 자원도 없어짐. 해당 스레드의 종료 상태값을 가지고 추가 처리 가능.
pthread_detach스레드 디태치 : 그 스레드가 종료되면 해당 스레드가 점유하고 있는 리소스를 막바로 없애줘 하면 쓴다.
실행 측면에서 보면
pthread_join스레드조인: pthread_join은 pthread_join다음에 있는 코드를 thread1이 종료되지 않으면 종료될때까지 기다림(종료될때까지 실행x) 예) 이 스레드가 끝날때까지 다음 코드가 실행되면 안된다
pthread_detach스레드 디태치 : thread1이 종료될때까지 기다리지 않음. 호출하고 막바로 다음코드를 실행해준다.
예) 이 스레드가 끝나기 전이라도 다음 코드가 실행되는건 상관없다
예제코드
프로그램이 끝나가는 시점이라 detach는 안넣어보셨다고 함(그리고 주석해제함)
'Computer(인강) > 시스템 프로그래밍' 카테고리의 다른 글
시스템 프로그래밍 02 mmap 예제 및 활용 (0) | 2021.03.13 |
---|---|
시스템 프로그래밍 01. 메모리와 mmap (0) | 2021.03.12 |
스레드 01 기본 (0) | 2021.03.12 |
쉘스크립트 - 04 협업 예제 및 정리 (0) | 2021.03.12 |
쉘 스크립트 03 - 반복문과 실제 예제 (0) | 2021.03.11 |