Hello,
I took an Operating Systems course just last semester, and I learned about multi-threading in great detail (about mutexes, semaphores, and deadlocks).
Personally I found this course very interesting, and I understood those topics quite well, therefore I believe I can help you.