Programmation Concurrente (2016)

Question sur synchronized(unObjet)

Voir le sujet précédent Voir le sujet suivant Aller en bas

Question sur synchronized(unObjet)

Message par Heros le Mar Sep 26, 2017 8:56 pm

Bonjour
j'ai une question sur la méthode synchronized(unObjet).

par exemple ,j'ai une classe comme ci-dessous:

public class A{

     public void m1(){
         synchronized(this){
            inscructions
         }
     }

     public void m2(){
         synchronized(this){
            inscructions
         }
     }
}

Je voudrais savoir si la méthode m2 est aussi bloquée lorsque la méthode m1 est éxecutée .

Merci en avance.

Heros

Posts : 7
Join date : 08/09/2017

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Question sur synchronized(unObjet)

Message par Admin le Mer Sep 27, 2017 12:22 am

Oui, en fait, faire comme vous l'écrivez

Code:
    public void m1(){
        synchronized(this){
           instructions
        }
    }
est équivalent à faire

Code:
    public synchronized  void m1(){
           instructions
    }
Car vous utilisez "this" qui dénote l'object courant. Pour que les deux méthodes M1 et M2 dans votre exemple ne soient pas en exclusion mutuelle, il faudrait utiliser deux objects différents que vous pourriez créer dans votre classe. On verra tout cela progressivement (et même des mécanismes encore plus précis).

Admin
Admin

Posts : 31
Join date : 24/08/2016

Voir le profil de l'utilisateur http://3i001-2016.forumactif.org

Revenir en haut Aller en bas

Re: Question sur synchronized(unObjet)

Message par Heros le Mer Sep 27, 2017 11:18 am

Merci de votre réponse.

Heros

Posts : 7
Join date : 08/09/2017

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Question sur synchronized(unObjet)

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum