Poniżej mały przykład jak np. delaye blokują działanie pętli głównej
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Dioda LED2 w pętli głównej zmienia stan co 2,5s i co 5s. Inne procesy, np. sprawdzanie klawiszy, wykonują się co 7,5s. Na czas delayów pętla główna "stoi" bo procesor jest zajęty odliczaniem czasu poprzez te nieszczęsne delaye. Dlatego to właśnie jest sposób blokujący.
W tym czasie jedynie włączone przerwania będą działać. Potwierdza to dioda LED1, która ładnie sobie miga co kilkaset ms. Mimo, że pętla główna "stoi".
Do blokujących części programu należą także przydługawe wszelakie pętlę np. while, for. I znów mały przykład
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Dioda LED1 w przerwaniu miga sobie niezmiennie.
Dioda LED2 miga co ok. 100ms, ale dioda LED3 zmienia stan co kilka sekund. Program w pętli for ładnie miga diodą ale to co jest poza pętlą for czyli miganie LED3 i sprawdzanie klawiszy "stoi" na czas wykonywania się tej pętli for. Czyli z punktu widzenie programu pętla for na czas swoich obiegów blokuje działanie reszty pętli głównej.
Z tego wynika, że blokujące części programu to nie tylko delaye.