活鎖類似於死鎖,不同之處在於參與活鎖的程序狀態不斷地相互改變,但沒有一個程序取得進展。活鎖是資源飢餓的一種特殊情況;一般定義只說明特定程序沒有取得進展。
現實世界中的例子是,兩個人在狹窄的走廊裡相遇,每個人都試圖禮貌地讓對方先走,結果卻左右搖擺,沒有取得進展,因為他們總是在同一時間以相同的方式移動。
活鎖是某些用於檢測和恢復死鎖的演算法的風險。如果多個程序採取行動,死鎖檢測演算法可能會反覆觸發。可以透過確保只有一個程序(隨機選擇或按優先順序選擇)採取行動來避免這種情況。