Terug naar begrippenlijst
4 minuten

Queue

Een queue (wachtrij) is een datastructuur die werkt volgens het FIFO-principe (First In, First Out). Dit betekent dat het eerste item dat in de rij wordt geplaatst, als eerste wordt verwerkt. Je kunt een queue vergelijken met een rij bij de kassa: degene die het eerst aankomt, wordt als eerste geholpen.

Geschreven door Thijn de Haas

Zwaaiende emoji

Thijn Lead developer

Meer over Thijn

Inhoudsopgave

Achteraan aansluiten: Zo werkt een queue

Een queue heeft twee belangrijke bewerkingen: enqueue en dequeue. Bij enqueue wordt een nieuw element achteraan in de rij toegevoegd, terwijl dequeue ervoor zorgt dat het eerste element uit de rij wordt verwijderd en verwerkt.

Queues worden veel gebruikt in de informatica. Een bekend voorbeeld is een printwachtrij, waarbij documenten in de volgorde van binnenkomst worden afgedrukt. Ook in netwerkverkeer speelt de queue een belangrijke rol, omdat inkomende verzoeken op basis van volgorde worden verwerkt. Daarnaast worden queues toegepast in task scheduling, zoals bij achtergrondprocessen in een besturingssysteem, waar taken één voor één worden uitgevoerd op basis van prioriteit of volgorde.

Een hele rij aan verschillende queues

Queues komen in verschillende vormen voor, afhankelijk van de toepassing en de manier waarop elementen worden beheerd. In sommige gevallen is een eenvoudige wachtrij voldoende, terwijl andere situaties vragen om een flexibele aanpak, zoals het verwerken van taken met verschillende prioriteiten of het efficiënt hergebruiken van geheugenruimte:

  • Lineaire Queue: Standaard wachtrij met het FIFO-principe.
  • Dubbele Queue (Deque): Elementen kunnen aan beide kanten worden toegevoegd en verwijderd.
  • Circulaire Queue: Optimalisatie waarbij de rij opnieuw wordt gebruikt na verwerking.
  • Prioriteitsqueue: Elementen met een hogere prioriteit worden eerder verwerkt.

Veelgestelde vragen

Een queue werkt met FIFO (First In, First Out), terwijl een stack LIFO (Last In, First Out) gebruikt.

Bij taken die in volgorde verwerkt moeten worden, zoals printopdrachten, netwerkverkeer of taakplanning.

Een queue waarbij de laatste positie weer aansluit op de eerste, om geheugen efficiënter te gebruiken.

Ja, maar een deque uit de collections-module is efficiënter voor het toevoegen en verwijderen van elementen.

Thijn de Haas Lead developer

Meer over Thijn

Mijn programmeeravontuur begon rond mijn twaalfde, toen ik ontdekte dat je met code vrijwel alles kunt maken. Ik begon met het bouwen van kleine projecten en startte al snel mijn eigen hostingdienst, wat me veel leerde over maatwerkcode, serverbeheer en het koppelen aan websites. Deze kennis pas ik nu dagelijks toe in mijn werk aan websites en applicaties.

Als student Applicatieontwikkelaar liep ik drie stages bij Wux, waarbij ik tijdens de eerste stage mijn eerste bedrijf startte, deels op advies van Bo. Deze ervaringen vormden het fundament van mijn rol als lead developer en mede-eigenaar van Wux. Met een constante interesse in nieuwe technieken en het meedenken naar de beste oplossingen, zet ik mijn expertise dagelijks in om complexe vraagstukken op te lossen samen met mijn team.

Twee mannen in overleg tijdens het werk achter hun computerschermen
Zwaaiende emoji

Thijn Back-end developer

Op zoek naar slimme software-oplossingen die jouw bedrijf efficiënter maken?

Het team van Wux ontwikkelt maatwerk software die aansluit bij jouw behoeften. Neem vandaag nog contact op en ontdek hoe we jouw bedrijf elke dag succesvoller kunnen maken.

Meer over software