Potrebbe aiutarmi con la seguente domanda di intervista.Implementazione dell'interfaccia domanda intervista
funzione Sleep(int seconds)
Dato implementare seguente interfaccia in modo timer potrebbero essere utilizzati:
- funzione
void CreateTimer(void (*func)(), int seconds)
che il suo scopo è quello di creare il timer - funzione
void StartTimers()
che il suo scopo per avviare tutti i timer
Ogni timer avviato deve essere ritardato di alcuni secondi e quindi utilizzare una richiamata per chiamare una funzione. Esempio:
CreateTimer(func1,3);
CreateTimer(func2,7);
CreateTimer(func3,10);
StartTimers()
folowing dovrebbe accadere:
Ritardo per 3 secondi e quindi chiamare per la funzione 1. di ritardo per 4 secondi e quindi chiamare per la funzione 2. Ritardo per 3 secondi e poi chiamare la funzione 3.
La domanda è come implementare tale interfaccia?
Se si tratta di una questione intervista nella tua intervista, non dovresti essere rispondendo da soli? –
Non era nella mia intervista. Ci sono molte domande di intervista in questo sito che le persone chiedono qui, quindi non vedo alcun problema speciale – Yakov
I timer iniziano tutti allo stesso tempo o si eseguono uno dopo l'altro? Se il primo, può funzionare solo se i callback richiedono tempi di esecuzione trascurabili. Altrimenti i ritardi saranno spenti. –