Java : timer

blackbird21 Messages postés 39 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
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. KX Messages postés 19031 Statut Modérateur 3 020
     
    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);
    	}
    }
    20
  2. blackbird21 Messages postés 39 Statut Membre 6
     
    Merci

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

      Je suis pas super à l'aise (euphémisme) en java, quel rôle joue "public static void main(String...args)"?
      0
    3. KX Messages postés 19031 Statut Modérateur 3 020
       
      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.
      0