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 :

c'est quoi la signification de « synchronized »


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 113
    Par défaut c'est quoi la signification de « synchronized »

    En fait j’ai une question banale pour les threads. C’est quoi la signification de « synchronized ». Est-ce qu’une méthode synchronized d’un class peut être exécuté seulement par un seul thread à la fois ? Dans ce cas à quoi ça sert « notifyall() » dans une méthode synchronisé si une seule méthode qui peut être déverrouiller (sachant quel a fait un « wait() » avant). Etc etc…

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Par défaut
    Le mieux c'est que t'ailles voir un tuto comme celui la :
    http://alwin.developpez.com/tutorial/JavaThread/
    ou celui la :
    http://viennet.developpez.com/cours/java/thread/

  3. #3
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 113
    Par défaut
    Est-ce que vous pouvez me donner ce que vous avez compris une méthode Synchronized (sans parler des wait). Et aussi sur comment ça marche le « notifyall ». Bien sur je vais voir les tutoriaux mais j’aime aussi avoir des repense à votre façon.
    Thanks.

  5. #5
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par freakfm
    Est-ce que vous pouvez me donner ce que vous avez compris une méthode Synchronized (sans parler des wait). Et aussi sur comment ça marche le « notifyall ». Bien sur je vais voir les tutoriaux mais j’aime aussi avoir des repense à votre façon.
    Thanks.
    Étant donné que c'est moi qui ai écrit le tuto dont j'ai mis le lien, c'est une réponse à ma façon lol

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 113
    Par défaut
    Dans le tutorial vous avez dit:

    « Les problèmes d'accès concurrents se règlent en JAVA à l'aide du mot clé synchronized, qui permet de déclarer qu'une méthode ou un bloc d'instructions est critique : un seul thread á la fois peut se trouver dans une partie synchronisée sur un objet. »

    Donc je peut dire qu’une méthode ‘sychronized’ ne peut être exécuter que par un seul thread à la fois.

    Si non dans les trois tutoriaux il y a just un micro exemple qui explique le fonctionement de « notifyAll » il y a que du code sans explication
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    //: Evenement.java
    // Classe simulant la notion d'événement
    //	S. Szulman 1998
    public class Evenement
    {
    	private Boolean Etat; // etat de l'evenement 
    	public Evenement() {
    		Etat = Boolean.FALSE;
    	}
    	public synchronized void set() {
    		Etat = Boolean.TRUE;
            // debloque les threads qui attendent cet evenement:
    		notifyAll(); 
    	}
    	public synchronized void reset() {
    		Etat = Boolean.FALSE;
    	}
    	public synchronized void attente() {
    		if(Etat==Boolean.FALSE) {
    			try {
    				wait(); // bloque jusqu'a un notify()
    			}
    			catch(InterruptedException e) {};
    		}
    	}// fin attente
    }// fin classe
    cela ne me permet pas de comprendre.
    En faite je vais expliquer dans le message suivant qu’est ce que j’ai pas compris

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

Discussions similaires

  1. [AC-2003] c'est quoi la signification de ce message d'erreur?
    Par NANOUSUN dans le forum IHM
    Réponses: 6
    Dernier message: 02/03/2010, 14h06
  2. [sbadecoder a dit].. C'est quoi pour vous un beau programme?
    Par seb.49 dans le forum Langages de programmation
    Réponses: 14
    Dernier message: 13/02/2004, 10h41
  3. C'est quoi XMLRAD ?
    Par laffreuxthomas dans le forum XMLRAD
    Réponses: 10
    Dernier message: 09/08/2003, 02h42
  4. C'est quoi "Profile" dans le assign du XMLGram ?
    Par Lux interior dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/02/2003, 11h37
  5. C'est quoi exactement un générateur d'états
    Par Henry Cesbron Lavau dans le forum Outils de restitution et d'analyse
    Réponses: 0
    Dernier message: 02/04/2002, 19h15

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