Fil de discussion pour les acteurs de scala
-
06-07-2019 - |
Question
Existe-t-il un moyen de contrôler le nombre de threads réellement actifs et exécutant mes acteurs Scala?
La solution
La seule façon de le faire correctement consiste à injecter votre propre exécuteur pour le sous-système Acteurs, car, par défaut, les threads des acteurs ne possèdent pas de noms d'acteur ou de scala (ils peuvent simplement être utilisés). appelé Thread-N
ou pool-N-thread-M
en fonction de la version de Scala que vous utilisez.
Philip Haller a donné des instructions pour utiliser les vôtres. exécuteur, où vous pouvez surveiller l’utilisation des threads si vous le souhaitez, ou tout au moins nommer les threads ainsi créés. Si vous remplacez la dénomination de fil, vous pouvez utiliser les MBeans standard du système Java (c.-à-d. ThreadMXBean ) pour surveiller les threads par programme (ou via JConsole / JVisualVM).
Notez que vous pouvez contrôler le mécanisme par défaut à l'aide des propriétés système:
-
acteurs.minPoolSize
-
acteurs.maxPoolSize
-
acteurs.corePoolSize
Autres conseils
Vous pouvez essayer le VisualVM . outil (disponible gratuitement auprès de Sun). Entre autres choses, il peut surveiller les threads lors de l'exécution de machines virtuelles Java.