Java : timer

Bonsoir,
je souhaite utilise un time afin d'effectuer une tâche à des intervalles de temps régulier.

J'ai pu voir sur internet qu'il existe pour cela la fonction scheduleAtFixedRate.

Je n'arrive cependant pas à l'utiliser correctement, mon problème vient notamment du premier paramètre (la tâche qui doit être effectuée) dans cette fonction que je n'arrive pas à définir correctement.

Merci d'avance pour vos éxplications

2 réponses

  1. Modérateur
    TimerTask est une classe abstraite dont tu dois spécifier la méthode run (comme pour un Thread) qui fera la tâche. Voici un petit exemple :

    import java.util.Timer;
    import java.util.TimerTask;
    
    public class Test
    {
    	public static void main(String...args)
    	{
    		TimerTask task = new TimerTask()
    		{
    			@Override
    			public void run() 
    			{
    				System.out.println("Hello World !");
    			}	
    		};
    		
    		Timer timer = new Timer();
    		timer.scheduleAtFixedRate(task, 0, 1000);
    	}
    }
    1. Merci

      J'obtiens une erreur, "<identifier> expected" pour la ligne :
      timer.scheduleAtFixedRate(task,0,100);
      1. Modérateur
        Erreur de copier coller peut être ? J'ai testé le code et ça devrait fonctionner...
      2. Ok c'est bon.

        Je suis pas super à l'aise (euphémisme) en java, quel rôle joue "public static void main(String...args)"?
      3. Modérateur
        C'est le point d'entrée du programme.
        Lorsque tu exécutes la classe Test (c'est comme ça que je l'ai appelée) c'est là qu'il commence, en l'occurrence ici il n'y a que ça, mais en général ce n'est pas le cas.