ایک deadlock اس وقت واقع ہوتا ہے جب دو (یا زیادہ) transactions میں سے ہر ایک کے پاس وہ lock ہو جسے دوسرا چاہتا ہے، تو کوئی بھی آگے نہیں بڑھ سکتا — وہ ایک دوسرے کے انتظار میں ہمیشہ کے لیے پھنسے رہتے ہیں۔ Databases deadlocks کو detect کرتے ہیں اور انہیں ایک transaction کو abort کر کے حل کرتے ہیں ("victim")، جسے دوبارہ کوشش کرنی ہوگی۔ وقتی عمل کی applications کے لیے causes اور prevention کو سمجھنا ضروری ہے۔
Deadlock کیسے ہوتا ہے
Transaction A: locks row 1, then wants row 2
Transaction B: locks row 2, then wants row 1
→ A waits for B (to release row 2), B waits for A (to release row 1) → DEADLOCK
Neither can proceed; they're waiting on each other in a cycle.
