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 :

utiliser une methode synchronised


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 251
    Par défaut utiliser une methode synchronised
    bonjour.
    j'espere que je suis sur le bon forum.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    String cattrib = at.getName();
    String attrib = cattrib;
    System.out.println(at.getName());
    String typeName = ins.attr(attrib).getClass().getName();
    ceci est un bout de mon code.
    à l'execetion, il m'affiche bien le nom de mon attribut, ici at.getname, mais s'arrete à la ligne suivante en m'envoyant cette erreur:

    internal error 22 occurred:
    runtime warning: access to non-existing attribute 'consists_of'
    Instance.attr(attribute) est une methode native synchronised.
    j'ai lu quelque part qu'il ne fallait pas pour les methodes synchronised, retourner l'attribut, mais une copie.
    c'est ce que j'ai essayé de faire, mais sans succes.

    si quelqu'un voit d'ou mon erreur peut venir...

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par christianf Voir le message
    j'ai lu quelque part qu'il ne fallait pas pour les methodes synchronised, retourner l'attribut, mais une copie.
    synchronized n'implique rien de ce coté là...
    Le fait de retourné une copie concerne les attributs muables afin d'éviter des modifications depuis l'extérieur...

    Citation Envoyé par christianf Voir le message
    si quelqu'un voit d'ou mon erreur peut venir...
    Il faudrait savoir ce que fait la méthode Instance.attr(attribute)... après tout c'est elle qui affiche ce message !

    Mais je ne pense pas qu'il y ai un rapport avec la synchronisation...

    a++

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 251
    Par défaut
    c'est une methode native synchronised, qui prend un attribut, et renvoie la valeur de cet attribut.

    exemple:

    personne(nom, voiture)

    et "#1 =personne(christian, peugeot)" = instance

    si on veut avoir acces à la valeur de nom,
    on fait:
    instance.attri(nom) et elle renvoie christian.

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Ben l'erreur semble venir de cette méthode et pas de la synchronisation...

    Es-tu vraiment sûr que l'attribut 'consists_of' est bien présent ?

    a++

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 251
    Par défaut
    oui, puisque je la recupere bien.

    et la methode est native.
    je n'ai donc pas acces à sa source.
    de plus, elle doit etre bonne, car trop d'applications deja qui tournent reposent sur elle.
    en fait, je pense que ça à vraiment à voir avec ce que j'ai dit au debut:
    "utilisation d'une copie, et non de l'attribut".
    mais je sais pas comment ça marche.

    http://www.philippe.prados.name/Lang...nchronized.pdf

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par christianf Voir le message
    oui, puisque je la recupere bien.

    et la methode est native.
    je n'ai donc pas acces à sa source.
    de plus, elle doit etre bonne, car trop d'applications deja qui tournent reposent sur elle.
    Tu l'utilises peut-être mal alors...

    Citation Envoyé par christianf Voir le message
    en fait, je pense que ça à vraiment à voir avec ce que j'ai dit au debut:
    "utilisation d'une copie, et non de l'attribut".
    mais je sais pas comment ça marche.

    http://www.philippe.prados.name/Lang...nchronized.pdf
    Comme je l'ai dit cela concerne les types muables et cela n'a rien à voir avec la synchronisation : le problème est le même dans les classes non-synchronisé. (plus d'info sur l'immuabilité : Classes et objets immuables).

    De plus le problème serait le même car cela voudrait dire que c'est la méthode Instance.attr(attribute) qui n'est pas bonne...

    Essayes de te renseigner dans la doc de cette méthode/librairie pour voir si ce problème est déjà arrivé...

    a++

Discussions similaires

  1. Réponses: 7
    Dernier message: 27/11/2014, 22h36
  2. [2.x] [Twig]Comment utiliser une method construite dynamiquement ?
    Par davidbouv dans le forum Symfony
    Réponses: 4
    Dernier message: 09/09/2011, 17h12
  3. utiliser une methode d'une classe (acces impossible)!
    Par Javamar dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 12/02/2009, 14h48
  4. Utiliser une methode d'une même classe
    Par Flamby69 dans le forum C++
    Réponses: 4
    Dernier message: 11/11/2006, 18h14
  5. Réponses: 2
    Dernier message: 02/05/2006, 14h34

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