Ein Livelock, Live-Blockierung, unterscheidet sich von einem Deadlock dadurch, dass sich die Zustände der Prozesse ständig ändern, ohne allerdings einen Fortschritt zu erzielen.
Bei einem Livelock blockieren sich die Prozesse gegenseitig, sie ändern ihren Zustand auf unbestimmte Zeit. Die Zustandsänderungen haben keine Auswirkungen auf die Prozesse. Eine Live-Blockierung erfolgt beispielsweise dann, wenn zwei Prozesse auf die gleiche Ressource zugreifen. Dabei überprü ft jeder Prozess, ob sich der andere in einem aktiven Zustand befindet. Falls dies der Fall sein sollte, geht die Ressource an den anderen Prozess. Da jedoch beide Prozesse im inaktiven Zustand sind, übergeben sie sich gegenseitig die Ressource auf unbestimmte Zeit.