J'utilise un service exécutorservice pour exécuter des appelables, mais le nom des fils est comme une piscine fixe-1-thread-1. p>
Comment je change le nom des threads? Si ce n'est pas possible, une autre façon d'exécuter des appelables, je peux définir le nom des threads? P>
3 Réponses :
Vous devrez utiliser une implémentation Il existe également une classe pratique dans les communes-lang qui permet de spécifier des noms de threads avec un motif: exécuteur code> qui vous permet de définir le
Filffactory code> 1 Utilisé pour créer des threads, par exemple,
threadpoolEcutor code>
. Passer une instance qui crée des threads avec les noms appropriés. P>
BasicTheadFactory code> . Cela vous empêche de devoir créer une sous-classe code> Filfactory code> pour fournir le comportement de nommage. P>
+1, pour référence Javadoc et réponse correcte / concise
Il y a une implémentation Java natif de l'interface TRANSFACTORY?
@Enato, la seule implémentation de la bibliothèque accessible provenait de la classe d'utilitaire code> code> et ne vous permet pas de fournir une chaîne de nom.
Guava a presque toujours ce que vous besoin . Filfactory NamedTheDeadFactory = Nouveau FilffactoryBuilder (). SetNameFormat ("My-Sad-thread-% d"). Construire () Code> et transmettez-le à votre
ExecuTertorservice CODE>. P >
une manière rapide et sale;
Cela suppose que vous pouvez modifier la méthode de course du fil.
Je viens de me demander cela l'autre jour - Stackoverflow.com/questions/6113746/...
@mre, oui, il se demande beaucoup.
TL; DR Réponse: Stackoverflow.com/a/9748697/231917