Не могли бы вы помочь мне со следующим вопросом интервью.
Данная функция Sleep(int seconds)
реализует следующий интерфейс, чтобы можно было использовать таймеры:
- функция
void CreateTimer(void (*func)(), int seconds)
, что ее целью является создание таймера
- функция
void StartTimers()
, что ее цель запустить все таймеры
Каждый таймер, который запускается, должен задерживаться на несколько секунд, а затем использовать обратный вызов для вызова функции.
Пример:
CreateTimer(func1,3);
CreateTimer(func2,7);
CreateTimer(func3,10);
StartTimers()
Должно произойти следующее:
Задержка на 3 секунды, а затем вызов функции 1.
Задержка на 4 секунды, а затем вызов функции 2.
Задержка на 3 секунды, а затем вызов функции 3.
Вопрос в том, как реализовать такой интерфейс?