42/42s Cursus
[Rank 3] Philosophers
치춘
2021. 9. 4. 11:04
철학자에 손도 안 댄지 어연 한달째... 다시 재개해보고자 한다...
I've never thought philosophy would be so deadly.
굶어죽는 철학자
주의사항
- 무지성으로 코딩했다가 후회할 것이다
- 스레드와 뮤텍스 (필수파트), 프로세스와 세마포어 (보너스파트) 를 많이 공부하도록 하자
- 철학자가 죽는 것을 어떻게 알아채야 할까?
- 철학자 감시 스레드를 하나 만들어서 main 스레드로부터 join하기
- 철학자 감시 스레드 하위에 철학자들을 생성하고 detach한 후, philo_setting 구조체 내부의 if_dead 계속 감시하기
- 이 방식을 사용하면 철학자 감시 스레드와 철학자 스레드들이 같이 돌기 때문에 누가 죽는지 파악이 가능
사전에 공부해야 할 내용
Mandatory
Bonus
사용가능 함수
사용가능 함수 정리 (Bonus)