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 :

pourquoi wait() et notify() doivent-elles être dans un synchronised


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 29
    Points
    29
    Par défaut pourquoi wait() et notify() doivent-elles être dans un synchronised
    Bon pour ce que j'ai compris;
    wait() et notify() sont des méthodes de la classe Object. Pour qu'un thread exécute ces méthodes sur un objet x; il doit posséder le lock de cet objet x
    ; donc exécuter un bloc d'instructions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     synchronised(x) {
    x.wait()
    }
    idem pour le notify()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     synchronised(x) {
    x.notify()
    }
    Je voudrais savoir pourquoi. Merci.

  2. #2
    Expert éminent sénior
    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 : 45
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    parce qu'on ne peux pas autoriser plusieurs thread simultanément à faire des wait / notify sur le même objet. Le bloc synchronized est là pour ça. C'est une des règles de base du language java pour l'utilisation des sémaphores.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 29
    Points
    29
    Par défaut
    OK, je comprend. Merci.

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

Discussions similaires

  1. Les failles de sécurité doivent-elles être rendues publiques ?
    Par Hinault Romaric dans le forum Actualités
    Réponses: 56
    Dernier message: 03/02/2015, 00h39
  2. [Singleton] Toutes les méthodes doivent-elles être 'synchronized'
    Par philippe13 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 24/10/2014, 17h48
  3. [Généralités] Question sur tables pourquoi doivent-elles être ouvertes?
    Par Christian8021 dans le forum WinDev
    Réponses: 1
    Dernier message: 01/03/2014, 10h39
  4. Les resources doivent-elles être placées dans Thèmes ?
    Par scapefrom dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 03/08/2010, 15h58
  5. [EJB2.1 Entity] [BMP] les requetes doivent-elles se trouver directement dans les méthodes ?
    Par webspeak dans le forum Java EE
    Réponses: 2
    Dernier message: 24/03/2005, 08h34

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