[{"data":1,"prerenderedAt":362},["ShallowReactive",2],{"term-q\u002Fqueue":3,"related-q\u002Fqueue":347},{"id":4,"title":5,"acronym":6,"body":7,"category":328,"description":329,"difficulty":330,"extension":331,"letter":332,"meta":333,"navigation":153,"path":334,"related":335,"seo":341,"sitemap":342,"stem":345,"subcategory":6,"__hash__":346},"terms\u002Fterms\u002Fq\u002Fqueue.md","Queue",null,{"type":8,"value":9,"toc":322},"minimark",[10,15,19,23,26,30,311,315,318],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"A queue is like a line at a coffee shop — first come, first served. The first person to get in line is the first to get their coffee. In code, queues process tasks in the order they arrive. Job queues, message queues, print queues — they are all FIFO structures.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"A queue is a FIFO (First In, First Out) abstract data structure supporting enqueue (add to back) and dequeue (remove from front) operations. Queues are fundamental to task scheduling, message brokers (RabbitMQ, Kafka), BFS graph traversal, and async job processing. Priority queues (heap-based) serve highest-priority items first instead of arrival order.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Array-based queue in JavaScript:\nconst queue = [];\nqueue.push('task1');   \u002F\u002F enqueue — add to back\nqueue.push('task2');\nqueue.push('task3');\n\nconst next = queue.shift(); \u002F\u002F dequeue — remove from front\nconsole.log(next); \u002F\u002F 'task1' (FIFO)\n\n\u002F\u002F Real-world: job queue\nasync function processQueue() {\n  while (queue.length > 0) {\n    const job = queue.shift();\n    await processJob(job);\n  }\n}\n","javascript","",[38,39,40,49,70,104,126,148,155,181,200,205,211,228,259,281,299,305],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sHwdD","\u002F\u002F Array-based queue in JavaScript:\n",[41,50,52,56,60,64,67],{"class":43,"line":51},2,[41,53,55],{"class":54},"spNyl","const",[41,57,59],{"class":58},"sTEyZ"," queue ",[41,61,63],{"class":62},"sMK4o","=",[41,65,66],{"class":58}," []",[41,68,69],{"class":62},";\n",[41,71,73,76,79,83,86,89,93,95,98,101],{"class":43,"line":72},3,[41,74,75],{"class":58},"queue",[41,77,78],{"class":62},".",[41,80,82],{"class":81},"s2Zo4","push",[41,84,85],{"class":58},"(",[41,87,88],{"class":62},"'",[41,90,92],{"class":91},"sfazB","task1",[41,94,88],{"class":62},[41,96,97],{"class":58},")",[41,99,100],{"class":62},";",[41,102,103],{"class":47},"   \u002F\u002F enqueue — add to back\n",[41,105,107,109,111,113,115,117,120,122,124],{"class":43,"line":106},4,[41,108,75],{"class":58},[41,110,78],{"class":62},[41,112,82],{"class":81},[41,114,85],{"class":58},[41,116,88],{"class":62},[41,118,119],{"class":91},"task2",[41,121,88],{"class":62},[41,123,97],{"class":58},[41,125,69],{"class":62},[41,127,129,131,133,135,137,139,142,144,146],{"class":43,"line":128},5,[41,130,75],{"class":58},[41,132,78],{"class":62},[41,134,82],{"class":81},[41,136,85],{"class":58},[41,138,88],{"class":62},[41,140,141],{"class":91},"task3",[41,143,88],{"class":62},[41,145,97],{"class":58},[41,147,69],{"class":62},[41,149,151],{"class":43,"line":150},6,[41,152,154],{"emptyLinePlaceholder":153},true,"\n",[41,156,158,160,163,165,168,170,173,176,178],{"class":43,"line":157},7,[41,159,55],{"class":54},[41,161,162],{"class":58}," next ",[41,164,63],{"class":62},[41,166,167],{"class":58}," queue",[41,169,78],{"class":62},[41,171,172],{"class":81},"shift",[41,174,175],{"class":58},"()",[41,177,100],{"class":62},[41,179,180],{"class":47}," \u002F\u002F dequeue — remove from front\n",[41,182,184,187,189,192,195,197],{"class":43,"line":183},8,[41,185,186],{"class":58},"console",[41,188,78],{"class":62},[41,190,191],{"class":81},"log",[41,193,194],{"class":58},"(next)",[41,196,100],{"class":62},[41,198,199],{"class":47}," \u002F\u002F 'task1' (FIFO)\n",[41,201,203],{"class":43,"line":202},9,[41,204,154],{"emptyLinePlaceholder":153},[41,206,208],{"class":43,"line":207},10,[41,209,210],{"class":47},"\u002F\u002F Real-world: job queue\n",[41,212,214,217,220,223,225],{"class":43,"line":213},11,[41,215,216],{"class":54},"async",[41,218,219],{"class":54}," function",[41,221,222],{"class":81}," processQueue",[41,224,175],{"class":62},[41,226,227],{"class":62}," {\n",[41,229,231,235,239,241,243,246,249,253,256],{"class":43,"line":230},12,[41,232,234],{"class":233},"s7zQu","  while",[41,236,238],{"class":237},"swJcz"," (",[41,240,75],{"class":58},[41,242,78],{"class":62},[41,244,245],{"class":58},"length",[41,247,248],{"class":62}," >",[41,250,252],{"class":251},"sbssI"," 0",[41,254,255],{"class":237},") ",[41,257,258],{"class":62},"{\n",[41,260,262,265,268,271,273,275,277,279],{"class":43,"line":261},13,[41,263,264],{"class":54},"    const",[41,266,267],{"class":58}," job",[41,269,270],{"class":62}," =",[41,272,167],{"class":58},[41,274,78],{"class":62},[41,276,172],{"class":81},[41,278,175],{"class":237},[41,280,69],{"class":62},[41,282,284,287,290,292,295,297],{"class":43,"line":283},14,[41,285,286],{"class":233},"    await",[41,288,289],{"class":81}," processJob",[41,291,85],{"class":237},[41,293,294],{"class":58},"job",[41,296,97],{"class":237},[41,298,69],{"class":62},[41,300,302],{"class":43,"line":301},15,[41,303,304],{"class":62},"  }\n",[41,306,308],{"class":43,"line":307},16,[41,309,310],{"class":62},"}\n",[11,312,314],{"id":313},"when-youll-hear-this","When You'll Hear This",[16,316,317],{},"\"Add it to the job queue and the worker will pick it up.\" \u002F \"Message queues decouple producers from consumers.\"",[319,320,321],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":51,"depth":51,"links":323},[324,325,326,327],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":28,"depth":51,"text":29},{"id":313,"depth":51,"text":314},"general","A queue is like a line at a coffee shop — first come, first served. The first person to get in line is the first to get their coffee.","beginner","md","q",{},"\u002Fterms\u002Fq\u002Fqueue",[336,337,338,339,340],"Stack","Data Structure","FIFO","Message Queue","Async",{"title":5,"description":329},{"changefreq":343,"priority":344},"weekly",0.7,"terms\u002Fq\u002Fqueue","ZX9Qhi2FXXUQW3xHn9fNR0vuKgxhXDmTxZrnUKSHwWk",[348,352,355,359],{"title":340,"path":349,"acronym":6,"category":328,"difficulty":350,"description":351},"\u002Fterms\u002Fa\u002Fasync","intermediate","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":337,"path":353,"acronym":6,"category":328,"difficulty":330,"description":354},"\u002Fterms\u002Fd\u002Fdata-structure","A data structure is a way of organizing information in your code so it is easy to use and fast to access.",{"title":339,"path":356,"acronym":6,"category":357,"difficulty":350,"description":358},"\u002Fterms\u002Fm\u002Fmessage-queue","architecture","A Message Queue is a waiting room for tasks. Producers drop tasks in the queue, consumers pick them up and process them one at a time.",{"title":336,"path":360,"acronym":6,"category":328,"difficulty":330,"description":361},"\u002Fterms\u002Fs\u002Fstack","A stack is a pile of things where you can only add to the top and take from the top — like a stack of plates.",1776518305172]