Je reçois un nombre de tâches croissant (comme 1,2,3,4,5,6,7 ...) lorsque j'imprime s.getTaskCount(). Je ne comprends pas pourquoi.ScheduledThreadPoolExecutor avec une tâche planifiée (Runnable) conserve le compte rendu du travail en continu + 1 tout le temps
public class MyTask implements Runnable
{
public void run()
{
System.out.println("whatever....");
}
}
ScheduledThreadPoolExecutor s = new ScheduledThreadPoolExecutor(3);
s.scheduleAtFixedRate(new MyTask(), 0, 10, TimeUnit.SECONDS);
while(1>0)
{
try
{
System.out.println("TASK COUNT: "+s.getTaskCount());
Thread.sleep(60000);
}
catch(InterruptedException e)
{
System.out.println(e);
}
}
Renvoie le nombre total approximatif de tâches programmées pour l'exécution. <- Est-ce que cela devrait retourner 1 ou peut-être 2 mais jamais 12 ou 25 si j'attends assez longtemps? – Krolique
J'essaie d'obtenir un compte actif de toutes les tâches que j'ai planifiées pensait cet exécuteur ou plutôt de voir combien de tâches ce qui sont encore en cours d'exécution. – Krolique
Non, il continuera à augmenter au fil du temps. C'est le nombre total de tâches qui sont entrées dans la file d'attente. getActiveCount() renverra le nombre en cours d'exécution. –