IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

A propos de la classe ThreadLocal


Sujet :

Langage Java

  1. #1
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 121
    Points : 110
    Points
    110
    Par défaut A propos de la classe ThreadLocal
    Bonjour tout le monde,

    J'ai rencontré récemment lors de mon développement une classe qui s'appelle ThreadLocal,

    C'est quoi donc cette classe ? son rôle, son utilité ? j'aimerais bien avoir aussi un exemple d'utilisation de cette classe

  2. #2
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut ThreadLocal
    Un ThreadLocal permet de fournir des variables qui vont être propre à chaque Thread et donc qui ne seront pas partagées entre les différents threads de ton application. Instanciée dans un singleton, ce threadlocal sera accessible de toute part durant la durée de vie du thread. Un grand nombre d'exemples peuvent être donnés quant à son utilisation :
    garder la même connexion à une base de donnée, ou garder la même transaction durant tout le cycle du thread...

  3. #3
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 121
    Points : 110
    Points
    110
    Par défaut
    hmm à vrai dire j'ai pas bien compris la choz

  4. #4
    Membre confirmé Avatar de spekal
    Inscrit en
    Mai 2005
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 502
    Points : 510
    Points
    510
    Par défaut
    Admettons que tu aies un thread.

    Depuis ce thread, tu demandes la valeur contenue dans une variable ThreadLocal ; il va t'en renvoyer une. Tu recommences 5 minutes après, depuis le même thread. Tu obtiendras la même valeur que précedemment.

    Tu fais la même manip depuis un autre thread, avec la même variable ThreadLocal. La valeur que tu obtiendras alors ne sera pas la même que celle que tu auras obtenue dans l'autre thread. (enfin... en général).

    Est-ce que c'est plus clair ?

  5. #5
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 121
    Points : 110
    Points
    110
    Par défaut
    Hmm j vois plus clair maintenant,

    C'est comme si chaque Thread a sa propre variable, une sorte de boite non ?

  6. #6
    Membre confirmé Avatar de spekal
    Inscrit en
    Mai 2005
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 502
    Points : 510
    Points
    510
    Par défaut
    Oui

    Il faut bien comprendre que la classe ThreadLocal ne s'utilise jamais directement, mais toujours par l'intermédiaire d'une classe héritiere. Cette héritière va écrire la méthode initialValue(), qui est appelée la première fois, et seulement la première fois, que un thread fait le get(). (à moins de diverses considération accessoires et annexes). Dans cet initialValue, tu définies la valeur que tu veux comme tu veux. La pratique normale est bien sûr de faire return new MaJolieValeur().

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. A propos de la Classe Scanner
    Par tolliob dans le forum Langage
    Réponses: 5
    Dernier message: 10/03/2014, 17h33
  2. à propos de la Classe clistctrl
    Par yann458 dans le forum Windows
    Réponses: 0
    Dernier message: 20/10/2011, 14h21
  3. À propos de la classe StringTemplate
    Par Laurent Dardenne dans le forum Dvp.NET
    Réponses: 4
    Dernier message: 12/08/2010, 17h52
  4. Réponses: 1
    Dernier message: 05/04/2008, 16h13
  5. A propos des classes abstraites
    Par OhLiberty dans le forum C++
    Réponses: 5
    Dernier message: 15/09/2006, 19h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo