Club Informatique VINCI

Le C.I.V représente un groupement d'étudiants constituant le club informatique de la Grande École Marocaine de l'Informatique et des Réseaux du Télécom VINCI -Rabat-. (L'utilisation de Internet explorer 6/7 n'est pas recommandée, on vous propose Firefox)

Les forums du C.I.V attend vos propositions en ce qui concerne le graphique, les catégories, et les sections.

Connexion

Récupérer mon mot de passe

Sondage

Quel est votre antivirus préféré ?
16% 16% [ 4 ]
32% 32% [ 8 ]
0% 0% [ 0 ]
0% 0% [ 0 ]
0% 0% [ 0 ]
36% 36% [ 9 ]
0% 0% [ 0 ]
0% 0% [ 0 ]
8% 8% [ 2 ]
8% 8% [ 2 ]

Total des votes : 25

Qui est en ligne ?

Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité

Aucun


[ Voir toute la liste ]


Le record du nombre d'utilisateurs en ligne est de 23 le Mer 17 Oct - 12:31

Statistiques

Nos membres ont posté un total de 1292 messages dans 373 sujets

Nous avons 437 membres enregistrés

L'utilisateur enregistré le plus récent est intellection


    Question à propos de notify() et notifyall()

    Partagez
    avatar
    owenho
    Modérateur
    Modérateur

    Messages : 115
    Points : 3623
    Réputation : 4
    Date d'inscription : 02/05/2009
    Age : 28
    Localisation : larache/rabat

    Question à propos de notify() et notifyall()

    Message par owenho le Ven 8 Mai - 15:06

    bonjour tous le monde. jai un question conçernant les methodes notify() et notifyall() ,a quoi sert ces fonctions???? What a Face
    et j'aime bien quil aura un bon exemple ? et merci Very Happy
    avatar
    El Maligno Angelo
    Administrateur
    Administrateur

    Messages : 373
    Points : 4249
    Réputation : 8
    Date d'inscription : 25/04/2009
    Age : 29
    Localisation : ErRabat

    Re: Question à propos de notify() et notifyall()

    Message par El Maligno Angelo le Ven 8 Mai - 17:05

    notify et notifyAll sont deux fonction de la classe Object que les méthodes synchronisées peuvent appeler à partir des objet dont elles possèdent le verrou ( l'objet que la fonction synchronisé a interdit l'accés). Donc évidemment on utilise ces deux fonctions dans une fonction synchronisée quand on a plusieurs threads (t1 et t2 par exemple) qui utilise une même ressource (un objet), et t1 fait un traitement préparatoire sur l'objet pour que t2 le complète (affiche un attribut de l'objet après le traitement effectué par t1 par exemple). Pour cela on met en attente le thread t2 (avec la méthode wait())jusqu'à ce que t1 finisse son traitement puis on appelle notifyAll() à partir de l'objet pour prévenir les autres threads en attente que cet objet et disponible.
    La méthode notify() prévient un seul thread, mais ce dernier dépends du système d'exploitation, donc on peut pas prévoir ce que va se passer. En général, l'utilisation de notify() n'est pas recommandé.

    Code:
      class  ListeTab  {

        private  String []  tab =  new  String [ 50 ] ;
        private  int  index =  0 ;

        synchronized void  ajoute(String s) {
            tab [ index ]  = s;
            index++;
            notifyAll();
            System.out.println("notify() exécuté");
        }

        synchronized  String getPremierElementBloquant () {
            //tant que la liste est vide
            while ( index ==  0 ) {
                try  {
                    //attente passive
                    wait();
                  }  catch ( InterruptedException ie ) {
                    ie.printStackTrace () ;
                }
            }
            return  tab [ 0 ] ;
        }
       
    }


    _________________
    it's awesome to feel...what others can't, but i think doin' what poeple cannot do make u surpass feelings step !!

    Houda
    Modérateur
    Modérateur

    Messages : 9
    Points : 3402
    Réputation : 1
    Date d'inscription : 01/05/2009
    Age : 29

    Re: Question à propos de notify() et notifyall()

    Message par Houda le Lun 11 Mai - 5:44

    Il s'agit de faire coopérer des threads.
    La méthode notify réveille un seul thread. Si plusieurs threads sont en attente, c'est celui qui a été suspendu le plus longtemps qui est réveillé. Lorque plusieurs threads sont en attente et qu'on veut tous les réveiller, il faut utiliser la méthode notifyAll.
    avatar
    owenho
    Modérateur
    Modérateur

    Messages : 115
    Points : 3623
    Réputation : 4
    Date d'inscription : 02/05/2009
    Age : 28
    Localisation : larache/rabat

    Re: Question à propos de notify() et notifyall()

    Message par owenho le Lun 11 Mai - 10:53

    merçi mes amies pour votre reponces j'ai bien compris la differences entre ces fonctions :
    notify():il permat de reveiller un thread qui est endormi et aussi de debloquer un thread bloqué par wait();
    notifyall():la méme fonction que notify() et en plus reveiller tous les threads endormi;
    wait():permet de bloqué un threads ,et si une threds appelle wait() seara bloque jusqua l'appelle des 2 methodes notify() ou notifyall().
    avatar
    El Maligno Angelo
    Administrateur
    Administrateur

    Messages : 373
    Points : 4249
    Réputation : 8
    Date d'inscription : 25/04/2009
    Age : 29
    Localisation : ErRabat

    Re: Question à propos de notify() et notifyall()

    Message par El Maligno Angelo le Lun 11 Mai - 11:17

    Le tour est joué Basketball
    avatar
    owenho
    Modérateur
    Modérateur

    Messages : 115
    Points : 3623
    Réputation : 4
    Date d'inscription : 02/05/2009
    Age : 28
    Localisation : larache/rabat

    Re: Question à propos de notify() et notifyall()

    Message par owenho le Lun 11 Mai - 11:21

    non pas encore Laughing parceque j'ai beacoups des questions à poser a monsieur maligno adios amigo?
    avatar
    El Maligno Angelo
    Administrateur
    Administrateur

    Messages : 373
    Points : 4249
    Réputation : 8
    Date d'inscription : 25/04/2009
    Age : 29
    Localisation : ErRabat

    Re: Question à propos de notify() et notifyall()

    Message par El Maligno Angelo le Lun 11 Mai - 12:55

    cheers J'attends tes questions M. owenho afro

    Contenu sponsorisé

    Re: Question à propos de notify() et notifyall()

    Message par Contenu sponsorisé


      La date/heure actuelle est Ven 20 Juil - 16:13