Junior — Middle
Pouvez-vous donner un exemple de situation où l'utilisation de ThreadLocal est justifiée?
sobes.tech IA
Réponse de l'IA
ThreadLocal est utilisé lorsque vous devez stocker des données spécifiques à chaque thread, sans risque qu'elles soient accessibles par d'autres threads.
Exemple de situation : dans une application web Java, où chaque requête est traitée dans un thread séparé, vous pouvez utiliser ThreadLocal pour stocker des informations sur l'utilisateur actuel ou le contexte de la requête, afin de ne pas transmettre explicitement ces données via les paramètres des méthodes.
private static final ThreadLocal<UserContext> userContext = new ThreadLocal<>();
public void processRequest() {
userContext.set(new UserContext(...));
// Dans ce thread, vous pouvez obtenir userContext.get() sans passer de paramètres
}
Cela garantit l'isolation des données entre threads.