Le istanze di scheduler hanno i seguenti metodi:
time, priority, action, argument) |
Eseguire l'evento significa eseguire
action(*argument)
. argument deve essere una
sequenza contenente i paramteri per l'azione action.
Il valore restituito è un puntatore all'evento schedulato, che può venire usato in futuro per una sua cancellazione (vedete cancel()).
delay, priority, action, argument) |
event) |
) |
) |
Sia action che delayfunc possono sollevare un'eccezione. In entrambi i casi, lo schedulatore manterrà uno stato consistente e propagherà l'eccezione. Se un'eccezione viene sollevata da action, non si tenterà di eseguire l'evento alla successiva chiamata di run().
Se una sequenza di eventi richiede un tempo per l'esecuzione superiore a quello messo a disposizione prima dell'evento successivo, lo schedulatore rimarrà semplicemente attardato. Nessun evento verrà scartato; il codice chiamante è responsabile della cancellazione degli eventi non più pertinenti.