When a set of processes is deadlocked, all processes in the set are in a wait state.

When a set of processes is in a livelock, they are running, but each keeps coming back to the same state, and never makes real progress.