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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
class Activator extends TimerTask {
 
    	@Override
    	public void run() {
    		// do something
    	}
    }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
    // ...    	
    	}
    }