System winien być w stanie przewidzieć czy następny stan będzie bezpiecznym czy też niebezpiecznym. Jedynym znanym algorytmem, który jest używany do uniknięcia zakleszczenia jest algorytm bankiera, który wymaga ażeby użycie limitów zasobów było znane z wyprzedzeniem. Problemem jest fakt, iż, wiele systemów nie udostępnia informacji kiedy każdy z procesów będzie żądał zasobów. Powoduje to sytuację, w której uniknięcie zakleszczenia jest często niemożliwe.
Istnieją jeszcze dwa inne algorytmy unikania zakleszczeń, tj. Czekaj/Giń oraz Rań/Czekaj. W obu algorytmach wyróżnia się proces starszy S oraz młodszy M. Wiek procesu może być określany poprzez znacznik czasowy przyznawany w trakcie tworzenia procesu. Mniejsze znaczniki sprawiają, iż procesy są starsze, z kolei większe oznaczają młodsze procesy.
Czekaj/Giń Rań/CzekajS wymaga zasobów przetrzymywanych przez M S czeka M umieraM wymaga zasobów przetrzymywanych przez S M umiera M czeka