2009-10-27 4 views
2

pas encore terminé que quelqu'un sait si la méthode java suivante dans le java.util.concurrent Package ScheduledExecutorService.html#scheduleAtFixedRate()Java Exécuteur planifiée: Est-il garantir de ne pas fonctionner en parallèle si la tâche as

absolument garanties, que la Runnable prévue sera ne jamais courir en parallèle au cas où le runnable du "dernier" run ne finit pas encore:

Par exemple (pseudocode)

1.00 o'clock: scheduleAtFixedRate(MyRunnable, "Run ever Hour")` 
//1.30 o'clock: MyRunnable Has finished (everthing is fine) 
2.00 o'clock: MyRunnable is triggered to run again 
3.00 o'clock: MyRunnable has NOT yet finished ==> What will happen here? 
Will java Simply SKIP the starting of MyRunnable (as the old instance has not yet 
finished) and try again at 4 o'clock or will Java start a NEW MyRunnable that then will 
run in parallel to the "old" MyRunnable. 

Merci beaucoup Jan

+0

Je doute que poser cette question était plus vite que la simple lecture de la Javadoc de la méthode que vous avez mentionné;) – sfussenegger

+0

bonjour sfussenegger, le problème que j'ai lu la doc java et recherché pour cette information dans le javadoc, mais en quelque sorte négligé ... – jan

Répondre

2

De l'docs:

Si l'exécution de cette tâche prend plus longtemps que la période, alors exécutions ultérieures peuvent commencer en retard, mais ne sera pas exécuter simultanément.

+0

Bonjour Bruno, merci! Eh bien, j'ai vraiment lu et cherché les docs java pour cela, mais je ne sais pas comment je pourrais superviser cela. Merci beaucoup pour votre aide! Jan – jan

Questions connexes