This projet dependly tremendous of architecture of you computer.
I did that in linux debian
thread :
https://www.pcerror-fix.com/about-processor-threads
https://www.youtube.com/watch?v=uA8X5zNOGw8&list=PL9IEJIKnBJjFZxuqyJ9JqVYmuFZHr7CFM
https://computing.llnl.gov/tutorials/pthreads/
http://www.csc.villanova.edu/~mdamian/threads/posixthreads.html#exercise_2
https://timmurphy.org/2010/05/04/pthreads-in-c-a-minimal-working-example/
https://www.ai.univ-paris8.fr/~alinehuf/m1/cours2-3/cours2-3_threads_acces_concurents.pdf
fork :
https://www.youtube.com/watch?v=PwxTbksJ2fo
https://www.youtube.com/watch?v=cex9XrZCU14
https://www.geeksforgeeks.org/fork-system-call/
Mutex and Semaphore:
https://docs.oracle.com/cd/E19253-01/816-5137/sync-11157/index.html
https://stackoverflow.com/questions/34524/what-is-a-mutex
https://stackoverflow.com/questions/9369873/sem-init-what-is-the-value-parameter-for
https://stackoverflow.com/questions/2065747/pthreads-mutex-vs-semaphore
https://www.youtube.com/watch?v=I-xQpuZ_UFM
https://www.ai.univ-paris8.fr/~alinehuf/m1/cours2-3/cours2-3_threads_acces_concurents.pdf
https://www.geeksforgeeks.org/mutex-lock-for-linux-thread-synchronization/
https://www.youtube.com/watch?v=F59sCis0hl4
Dining Philosophers Problem:
https://perso.ens-lyon.fr/michael.rao/ASR2/cours_slides_8.pdf
https://www.youtube.com/watch?v=dOVdsd31WNg
https://medium.com/swlh/the-dining-philosophers-problem-solution-in-c-90e2593f64e8