Question

Existe-t-il un moyen de contrôler le nombre de threads réellement actifs et exécutant mes acteurs Scala?

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top