Sobes.tech
Middle+

Τι είναι το Deadlock και το Livelock; Ποια είναι η διαφορά;

sobes.tech AI

Απάντηση από AI

Deadlock (αμοιβαία αποκλεισμός) — κατάσταση όπου δύο ή περισσότεροι διαδικασίες μπλοκάρουν αμοιβαία για πάντα, κάθε μία περιμένει την απελευθέρωση πόρου που κατέχει η άλλη διαδικασία. Για παράδειγμα, η διαδικασία A κρατάει πόρο 1 και περιμένει πόρο 2, ενώ η διαδικασία B κρατάει πόρο 2 και περιμένει πόρο 1.

Livelock (ζωντανός αποκλεισμός) — κατάσταση όπου οι διαδικασίες δεν μπλοκάρουν, αλλά αλλάζουν συνεχώς την κατάσταση τους ανταποκρινόμενες η μία στην άλλη, χωρίς να προχωρούν. Για παράδειγμα, δύο διαδικασίες συνεχώς παραχωρούν πόρους η μία στην άλλη, αλλά καμία δεν μπορεί να συνεχίσει.

Διαφορά:

  • Deadlock — οι διαδικασίες περιμένουν η μία την άλλη και δεν αλλάζουν κατάσταση.
  • Livelock — οι διαδικασίες είναι ενεργές και αλλάζουν κατάσταση, αλλά δεν υπάρχει πρόοδος.