Exécution de N tâches à intervalles pseudo réguliers
Bonjour
J'ai besoin de pouvoir exécuter un certain nombre de tâches en parallèle et chacune de ces tâches doit exécuter une action simple et rapide à intervalle presque régulier (par exemple entre 5s et 6s de délai).
Avec le code ci-dessous j'arrive à lancer plusieurs tâches en parallèle, mais chacune de ces tâches est exécutée à intervalle strictement régulier,
il n'y a pas de partie variable dans le délai.
Voyez-vous comment faire pour ajouter cette partie variable dans le délai d'exécution de chaque tâche ?
Merci
Code:
1 2 3 4 5 6 7
| class Activator extends TimerTask {
@Override
public void run() {
// do something
}
} |
Code:
1 2 3 4 5 6 7 8
| public static void main(String[] args) throws Exception {
Timer timer = new Timer(true);
timer.scheduleAtFixedRate(new Activator(), 0, 2000); // ici le délai devrait être compris entre 2000 et 2300 ms par exemple
timer.scheduleAtFixedRate(new Activator(), 0, 5000);
timer.scheduleAtFixedRate(new Activator(), 0, 7000);
// ...
}
} |