Salut,
Tomcat utilise un pool de Threads pour augmenter les performances de traitement, ainsi une Thread peut être utilisée pour plusieurs traitements. Si Tomcat doit réaliser 2 traitements en parallèle, il utilise 2 Thread différentes en même temps. Mais s'il doit réaliser 2 traitements séquentiellement, par exemple 2 init de servlet (qui se font forcément séquentiellement), il prend la première Thread libre de son pool, exécute le premier traitement, remet le thread dans le pool, le reprend pour faire le 2ème traitement, le réalise et remet le thread dans le pool. En fait, il faut penser qu'un thread peut servir à plusieurs traitements.
Donc si tu vois dans tes traces qu'un thread est exécuté plusieurs fois, celà ne signifie pas que ton init s'est réalisée plusieurs fois.
A+.