Spinning locks use busy waiting to synchronize tasks, while blocking locks allow tasks to block instead of spin. The document discusses different types of locks including spin locks, mutex locks, and owner locks. It provides examples of how these locks can be implemented and used to synchronize access to shared resources.