Callback audio
Funkcja, którą sterownik audio wywołuje za każdym razem, gdy trzeba wypełnić kolejny bufor — i która nigdy nie może się spóźnić.
Prawie każde API audio, od ASIO i Core Audio po JACK i Web Audio, działa według tego samego modelu: program rejestruje funkcję, a sterownik wywołuje ją z wątku o wysokim priorytecie, nawet tysiąc razy na sekundę, z pustym buforem, który przed powrotem musi być pełny. Przy 64 próbkach i 48 kHz zostaje na to około 1,3 milisekundy.
Stąd zasady, które Ross Bencina streścił w 2011 roku pod hasłem time waits for nothing: żadnej alokacji pamięci, żadnych blokad, żadnego I/O na plikach ani w sieci, żadnych wywołań systemowych, które mogłyby się zablokować. malloc zwykle jest szybki, ale nie zawsze, a „nie zawsze” słychać jako trzask. Komunikacja z resztą programu idzie więc przez kolejki lock-free. Języki ze śmieciarką mają tu z tego samego powodu pod górkę.