Gonna throw in one of my own picks for Concurrency, I landed on this book a few months ago called “The Little Book of Semaphores” on synchronization with examples in python: https://greenteapress.com/wp/semaphores/
Foundations of Multithreaded, Parallel, and Distributed Programming by Gregory Andrews. All the three paradigms of Concurrency are treated clearly within one pair of covers.