Pętla opóźniająca czy funkcja Sleep() ?

0

Witam, poznałem nie dawno na czym polega pętla opóźniająca:

void czekaj(float secs)
{
	clock_t delay = secs * CLOCKS_PER_SEC; // konwersja na jednostki zegara
	clock_t start = clock(); 
	while(clock() - start < delay); // czeka az uplynie czas
}

Moje pytanie brzmi, kiedy coś takiego używać zamiast funkcji Sleep()? Oraz czy są jakieś większe różnice między tymi oba sposobami?

1

Różnica jest.
Funkcje zatrzymujące wykonanie programu blokują, wykonywanie programu,
natomiast twoja pętla nie. Można dać wewnątrz pętli jakieś obliczenia i będą one wykonywane
z maksymalną prędkością, jaką osiąga pętla póki warunek będzie spełniony.

0

Co także oznacza, że program będzie maksymalnie obciążał procesor, a przy użyciu sleepa nie (jeśli piszesz na bardziej zaawansowany system, a nie jakiś mikrokontroler)

1 użytkowników online, w tym zalogowanych: 0, gości: 1