2009-04-21 9 views
0

J'applique le x-modem protocol en Java. S'il y a un timeout pendant que je reçois un paquet, je dois envoyer negative acknowledgment. Je dois commencer une minuterie, et quand le temps est écoulé, alors j'envoie un message à l'expéditeur demandant le transfert de fichiers depuis le début.Comment faire des minuteries en Java?

Mais je ne comprends pas comment faire les minuteurs en Java; Puis-je voir un exemple de code? Je vous remercie.

+1

plz réécrire votre question afin que nous puissions comprendre ce que vous parlez ;-) –

Répondre

1

Voici quelques exemples de code de ce que je compris votre question:

final Timer t = new Timer(); 
t.schedule(new TimerTask() { 
     /** 
     * {@inheritDoc} 
     */ 
     @Override 
     public void run() { 
      // Do what you want 
     } 
    }, delay); 

if (gotResponse) t.cancel(); 

delay est le nombre de millisecondes que vous voulez attendre avant que la minuterie exécute la tâche de lui.

1

Extrayez le package java.util.concurrent, en particulier la classe ScheduledThreadPoolExecutor.

Le problème avec java.util.Timer est que il planifie un thread d'arrière-plan pour gérer les tâches chronométrées et vos tâches peut faire la queue si la tâche elle-même prend un certain temps à courir (voir here pour plus de détails)

Aucun d'entre eux ne donne de garanties en temps réel.

Ce book est vraiment bon pour expliquer l'utilisation du paquet java.util.concurrent