@Planifiée & planificateur: Quoi exactement à la taille du pool?
Je veux exécuter plusieurs Tâches planifiées simultanément.
Lors de la configuration de printemps pour le faire, je peux fournir une piscine de taille pour le planificateur:
<task:annotation-driven executor="myExecutor" scheduler="myScheduler"/>
<task:executor id="myExecutor" pool-size="32"/>
<task:scheduler id="myScheduler" pool-size="1000"/>
Mais que fait exactement la taille du pool dire par là?
Signifie qu'il ne peut stocker 1000 prévue Méthodes ou faut-il dire que seuls les 1000 Méthodes peuvent être traitées en même temps?
tldr; Si un @Prévue(fixedDelay=60) Méthode annotée est PAS exécuté à l'instant (ce qui signifie qu'il est entre le retard), est-il remplir la piscine ou pas?
OriginalL'auteur chzbrgla | 2010-11-30
Vous devez vous connecter pour publier un commentaire.
Il se réfère au nombre de threads qui peuvent être mis en commun à la fois par le sous-jacent ThreadPoolExecutor c'est à dire le montant notionnel nombre de méthodes qui peuvent être exécutés en même temps.
La documentation sur le la tâche de l'espace de noms va dans beaucoup de détails dont vous avez besoin.
Je pense que 1000 threads est probablement va être trop grand nombre dans la plupart des environnements.
La documentation n'est pas spécifique au sujet de ce
pool-size
moyens, mais généralement, cela signifie que le nombre total de threads qui seront existent à tout moment. Certains de ceux-ci peut être occupé, et certains peuvent être inactif, mais tous sont considérés dans la piscine.Vous avez raison à propos de la façon dont le groupe de travail, mais la documentation est assez spécifique: il utilise ThreadPoolTaskExecutor et de la taille du pool est passé.
juste assez; il ne pond pas dans le type immense pour le bénéfice des gens paresseux comme moi, mais ce n'est certainement indiquer en référence à ThreadPoolTaskScheduler et ThreadPoolTaskExecutor.
OriginalL'auteur GaryF