42's dining philosophers project.
In order to finish this project one has to have the fundemental knowledge of processes and threads. The main objective of this project is to be able to manage resources effectively by implementing a synchronization algorithm which would allow threads and processes to access shared resources smoothly and without having any data races. The latter can be pretty problematic in certian settings.