Attesa attiva (busy waiting)
Attendere facendo girare il processore in un ciclo che non produce nulla di utile finché una condizione non si verifica o non è trascorso abbastanza tempo.
Il ritardo più antico del firmware è for (i = 0; i < 100000; i++);. Ha due difetti classici: l'ottimizzatore elimina del tutto il ciclo se il contatore non è volatile, e il ritardo smette di essere corretto non appena qualcuno cambia la frequenza di clock o le opzioni del compilatore. Linux calibra il proprio ciclo di ritardo all'avvio: quel valore è ciò che viene stampato come BogoMIPS.
Per attese brevi, qualche microsecondo dentro un driver, l'attesa attiva è spesso la scelta giusta: mettersi a dormire e risvegliarsi costa più dell'attesa stessa. Per tempi più lunghi è meglio un timer o una chiamata a un RTOS che lasci lavorare gli altri task. Uno spinlock non è altro che attesa attiva con un lock come condizione.