J'ai une situation pour exécuter thread1 toutes les minutes et thread2 toutes les heures. Comment puis-je faire ceci.Exécuter deux threads simultanément avec des temps de sommeil différents
actuellement j'ai un code de travail pour exécuter thread1 après chaque minute.
principale méthode
static void main(string args[]){
orderListner thread1 = new orderListner();
thread1.start();
}
thread1
public static void orderListner extends thread{
public void run(){
while(true){
process();
thread.sleep(60000);
}
}
}
Maintenant, je dois commencer nouveau thread pour obtenir des résultats qui court après toutes les heures. comment je peux implémenter ceci simultanément (thread1 lancera continuellement thread2 devrait commencer chaque heure)
Pourquoi ne pas utiliser deux minuteurs à la place? –
Utilisez un masque de temps. Jetez un oeil ici http://download.oracle.com/javase/1.4.2/docs/api/java/util/TimerTask.html –
Si vous pouvez le faire pour chaque minute, vous pouvez le faire pour chaque heure. Il suffit de multiplier le temps de sommeil par 60. Qu'est-ce qui me manque? S'il vous plaît expliquer ce que vous voulez faire plus explicitement. –