[{"data":1,"prerenderedAt":76},["ShallowReactive",2],{"term-d\u002Fdeadlock":3,"related-d\u002Fdeadlock":60},{"id":4,"title":5,"acronym":6,"body":7,"category":40,"description":41,"difficulty":42,"extension":43,"letter":44,"meta":45,"navigation":46,"path":47,"related":48,"seo":54,"sitemap":55,"stem":58,"subcategory":6,"__hash__":59},"terms\u002Fterms\u002Fd\u002Fdeadlock.md","Deadlock",null,{"type":8,"value":9,"toc":33},"minimark",[10,15,19,23,26,30],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"A deadlock is when two things are each waiting for the other to go first, and neither ever does. Thread A holds Lock 1 and wants Lock 2. Thread B holds Lock 2 and wants Lock 1. Everyone is politely waiting forever. The program freezes.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"A deadlock occurs when two or more threads are each waiting for a resource held by the other, creating a circular dependency that causes all involved threads to block indefinitely. Preventing deadlocks requires careful lock ordering, timeouts, or lock-free data structures.",[11,27,29],{"id":28},"when-youll-hear-this","When You'll Hear This",[16,31,32],{},"\"The server froze — turned out to be a deadlock between two database transactions.\" \u002F \"Avoid holding multiple locks simultaneously to prevent deadlocks.\"",{"title":34,"searchDepth":35,"depth":35,"links":36},"",2,[37,38,39],{"id":13,"depth":35,"text":14},{"id":21,"depth":35,"text":22},{"id":28,"depth":35,"text":29},"general","A deadlock is when two things are each waiting for the other to go first, and neither ever does. Thread A holds Lock 1 and wants Lock 2.","intermediate","md","d",{},true,"\u002Fterms\u002Fd\u002Fdeadlock",[49,50,51,52,53],"Race Condition","Thread","Concurrency","Process","Async",{"title":5,"description":41},{"changefreq":56,"priority":57},"weekly",0.7,"terms\u002Fd\u002Fdeadlock","kkd0pLBU-bUQ3SJv4KdqiaN1OAbOzyl2T06eaos9JdQ",[61,64,67,70,73],{"title":53,"path":62,"acronym":6,"category":40,"difficulty":42,"description":63},"\u002Fterms\u002Fa\u002Fasync","Async means 'don't wait around'. You order food at a restaurant, then chat with friends instead of standing at the kitchen window staring.",{"title":51,"path":65,"acronym":6,"category":40,"difficulty":42,"description":66},"\u002Fterms\u002Fc\u002Fconcurrency","Concurrency is juggling multiple tasks at once — not necessarily at the exact same instant, but switching between them fast enough that they all seem to be...",{"title":52,"path":68,"acronym":6,"category":40,"difficulty":42,"description":69},"\u002Fterms\u002Fp\u002Fprocess","A process is a full running program with its own isolated chunk of memory.",{"title":49,"path":71,"acronym":6,"category":40,"difficulty":42,"description":72},"\u002Fterms\u002Fr\u002Frace-condition","A race condition is when two parts of your code are racing to do something at the same time and the winner isn't guaranteed — leading to unexpected, hard-t...",{"title":50,"path":74,"acronym":6,"category":40,"difficulty":42,"description":75},"\u002Fterms\u002Ft\u002Fthread","A thread is a mini-worker inside your program that can run tasks independently.",1776518272973]