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

avec Java Discussion :

[synchronized] Section critique


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Par défaut [synchronized] Section critique
    Salut à tous,

    je suis en train de développer une application qui peut être appelée par plusieurs applications au même temps. Une des méthodes utilisées est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public Resultats maMethode (data)
    {
       Calcul calc = new Calcul();
       calc.traitement(data);
       Resultat res = calc.getResults();
       return  res;
    }
    Ma question est la suivante:
    Dois je mettre "synchronized" à cette méthode pour qu'il n'y ait pas de chevauchement de calculs en cas de plusieurs exécution simultanées de ce bout de code? Le fait d'instancier un objet Calcul ne permet-il pas d'éviter ce "chevauchement"?

    Autrement dit, à chaque nouvel appel à ce bout de code un nouvel objet est instancié et du coup chaque appel est exécuté sur un objet Calcul qui lui est dédié. Par conséquent, il n'y a pas de risque de "chevauchement" de calcul. Cette affirmation est elle correcte?

    Merci pour votre aide

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Salut, si aucun object n'est static, il n'y a pas de raison de mettre synchronized puisque les différents appels à la méthode ne partagent aucune ressource.
    Par contre si dans ta méthode traitement il y a des objets static, attention

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Par défaut
    Si j'ai des variables statiques mais je ne fais que lire ces objets. Plus précisement, j'ai des variables statiques déclarées de la façon suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public static final MonType attributStatique = new MonType();
    Donc normalement y' a pas de souci puisque ces attributs sont déclarées final.

  4. #4
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Si tu ne fais que lire les objets, il n'y aura pas de problème.

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Par défaut
    Donc c'est le fait d'utiliser des ressources différents (= une instance pour chaque appel) qui nous évite ce chevauchement. Ceci dit il faut faire attention aux attributs statiques

    Merci

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

Discussions similaires

  1. Problème d'include avec une section critique.
    Par radicalrider dans le forum Visual C++
    Réponses: 21
    Dernier message: 12/07/2006, 15h38
  2. [VB.NET] Remplacement de fichier, section critique
    Par leSeb dans le forum Windows Forms
    Réponses: 7
    Dernier message: 10/03/2006, 14h34
  3. section critique "static" ou pas?
    Par giova_fr dans le forum Windows
    Réponses: 2
    Dernier message: 01/01/2006, 13h15
  4. [Delphi 6] Problème de section critique
    Par Desraux dans le forum Langage
    Réponses: 8
    Dernier message: 08/12/2005, 14h13
  5. [Kylix] Section critique
    Par rahimk dans le forum EDI
    Réponses: 5
    Dernier message: 23/11/2005, 12h18

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