Proszę, pomóż mi z pytaniem o wywiad.Implementacja interfejsu wywiadu z pytaniem
funkcja Sleep(int seconds)
Biorąc realizować następujące interfejs więc może być używany czasomierze:
- funkcję
void CreateTimer(void (*func)(), int seconds)
, że jej celem jest stworzenie timera - funkcję
void StartTimers()
że jej celem, aby rozpocząć wszystkie liczniki
Każdy uruchomiony timer powinien opóźnić się na kilka sekund, a następnie użyć wywołania zwrotnego, aby wywołać funkcję. przykład:
CreateTimer(func1,3);
CreateTimer(func2,7);
CreateTimer(func3,10);
StartTimers()
folowing powinno mieć:
opóźnienie przez 3 sekundy, a następnie połączyć za funkcję 1. opóźnienia 4 sekundy, a następnie wymagają funkcji 2. opóźnienie przez 3 sekundy, a następnie wywołanie funkcji 3.
Pytanie, jak wdrożyć taki interfejs?
Jeśli jest to pytanie wywiad w swoim wywiadzie, nie powinny być odebraniem go samodzielnie? –
To nie było w moim wywiadzie. Istnieje wiele pytań do wywiadu na tej stronie, o które pytają ludzie, więc nie widzę żadnego szczególnego problemu. – Yakov
Czy zegary zaczynają się w tym samym czasie, czy uruchamiają się jeden po drugim? Jeśli pierwsza, może działać tylko wtedy, gdy wywołania zwrotne zajmują mało czasu. W przeciwnym razie opóźnienia będą wyłączone. –