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

API standards et tierces Java Discussion :

atomicité des méthodes


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 139
    Par défaut atomicité des méthodes
    Bonsoir,

    j'ai deux méthodes scan et write

    scan d'une classe Lecture qui hérite de Thread
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public void scan(int []t ){
    	try{int num=3;
    	    t[0]=p.get(0);
    	    this.sleep(num);//le temps de lire les autres
    	    this.yield();
    	    t[16000]=p.get(16000);
    	    this.sleep(num);//le temps de lire les autres
    	    this.yield();
    	    t[31999]=p.get(31999);
    	} catch(InterruptedException e){
    	    System.out.println(e);
    	}
        }
    write d'une classe Ecriture qui hérite de Thread
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public void write(int i,int x) {
    	p.set(i,x);
        }
    Ces méthodes ne sont pas atomiques mais je ne comprends pas pourquoi.

    J'aurais besoin d'aide pour comprendre pourquoi ces méthodes ne sont pas atomiques si c'est bien le cas du moins scan ça peut être normal à cause du sleep qui endort le thread pendant une période ou du yield qui bloque un thread pour qu'un autre puisse interférer et donc faire que scan n'est plus atomique mais c'est pour write que je ne comprends pas vraiment.

    Est-ce que l'explication pour le scan paraît correct?

    Merci

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    très peu d'opérations sont atomiques en java, l'atomicité signifiant qu'aucun autre thread ne peut prendre la main pendant l'opération. Les méthode que le programmeur peut créer, quand à elle, ne seront jamais atomique. Les seules opérations atomique en java se trouvent dans java.util.concurrent.atomic et ne servent qu'à la manipulation de types de base.

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 139
    Par défaut
    si je comprends bien, l'atomicité n'existe pas en soi en java hormis dans les structures atomiques appartenant à java et aussi les affectations de type qui ne sont pas double?

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    c'est comme ça dans la pluspart des language. L'atomicité étant quelque chose de dur à réaliser. Tu n'a peut etre pas la bonnoe notion de ce qu'est l'atomicité....

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

Discussions similaires

  1. Signatures des méthodes
    Par szdavid dans le forum Général Python
    Réponses: 4
    Dernier message: 28/01/2006, 11h59
  2. [Info] génération des méthodes parentes
    Par Popeye75 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 08/12/2005, 17h24
  3. JAVA - Passer des Objects à des méthodes
    Par canou94 dans le forum CORBA
    Réponses: 2
    Dernier message: 15/11/2005, 22h39
  4. Editeur de texte - liste des méthodes
    Par Carlito_superheros dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 30/03/2005, 12h52
  5. [Info]descriptif des méthode ?
    Par java_math dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 01/06/2004, 08h36

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