Busy waiting

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

Busy waiting is een techniek die in de softwareontwikkeling wordt toegepast om een proces op te houden totdat een bepaalde gebeurtenis plaats heeft gevonden.

Uitvoering[bewerken]

Een simpele manier om het wachten op een gebeurtenis voor te stellen is met de volgende pseudocode:

:
do not(gebeurtenis) → skip od
{op dit moment heeft de gebeurtenis kennelijk plaatsgevonden}
:
:

Letterlijk betekent dit: niets doen totdat de gebeurtenis heeft plaatsgevonden. Dit wachten kan op een computer op verschillende manieren geïmplementeerd worden. De manier die letterlijk doet wat hierboven weergegeven is, heet busy waiting. Weliswaar effectief (er wordt gewacht), maar een totale verspilling van de tijd van de processor die gaat zitten in het uitvoeren van de bovenstaande repetitie. Vandaar de naam: de processor heeft het "druk met wachten".

Praktijk[bewerken]

Busy waiting wordt meestal niet toegepast op de centrale processor van een computer, omdat het een grote verspilling van cycles is. Maar omdat busy waiting erg simpel te implementeren is, wordt het wel vaak toegepast in randapparatuur en andere situaties waarin een processor maar een taak heeft. In een dergelijk geval geldt namelijk: is de processor niet bezig met zijn enkele taak, dan heeft hij toch niets anders te doen.