[{"data":1,"prerenderedAt":76},["ShallowReactive",2],{"term-r\u002Frace-condition":3,"related-r\u002Frace-condition":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\u002Fr\u002Frace-condition.md","Race Condition",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 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-to-reproduce bugs. It's like two people editing the same Google Doc simultaneously and overwriting each other.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"A race condition occurs when a system's correctness depends on the relative timing of concurrent operations. Multiple threads or processes accessing and modifying shared state without proper synchronisation can lead to data corruption or unpredictable behaviour.",[11,27,29],{"id":28},"when-youll-hear-this","When You'll Hear This",[16,31,32],{},"\"That bug only happens under load — classic race condition.\" \u002F \"Use a mutex to prevent the race condition on the shared counter.\"",{"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 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...","intermediate","md","r",{},true,"\u002Fterms\u002Fr\u002Frace-condition",[49,50,51,52,53],"Deadlock","Concurrency","Thread","Async","Idempotent",{"title":5,"description":41},{"changefreq":56,"priority":57},"weekly",0.7,"terms\u002Fr\u002Frace-condition","IadcP5gxu-e2-cdClIHcpwGjv8RrlLxA7MBekTzAQUU",[61,64,67,70,73],{"title":52,"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":50,"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":49,"path":68,"acronym":6,"category":40,"difficulty":42,"description":69},"\u002Fterms\u002Fd\u002Fdeadlock","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.",{"title":53,"path":71,"acronym":6,"category":40,"difficulty":42,"description":72},"\u002Fterms\u002Fi\u002Fidempotent","Idempotent means you can do the same thing multiple times and get the same result as doing it once.",{"title":51,"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.",1776518305690]