What is the best way to understand something well? For me, it's always been trying to build something similar from scratch. This project is my attempt to learn what it takes to implement pthreads on x86_64 Linux. I've learned quite a bit doing it, and it may be useful to other people. I am also interested in your feedback, especially concerning the synchronization routines. PRIO_INHERIT mutexes seem to be a particularly demanding beast. In the limited time I've had for this project, I was not able to decipher what glibc does to implement them.