서브젝트가 업데이트 되고, 우리는 식사하는 철학자 문제를 스레드(철학자)-뮤텍스(포크), 프로세스(철학자)-세마포어(포크) 로 구성되도록 코드를 짜야한다. 같은 문제를 다른 방법들을 이용하여 코드를 짜기 위해서는 스레드와 프로세스, 뮤텍스와 세마포어의 차이를 이해하는게 좋다. 깔끔하고 정확한 설명들은 인터넷에 찾아보면 잘 정리되어있으니 이번 글에서는 내가 과제를 진행하면서 새로 알게 되었거나, 개념의 느낌(?) 위주대로 써 볼 생각이다. 스레드 스레드(thread)는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티스레드(mult..