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

Concurrence et multi-thread Java Discussion :

[Thread] ressource critique


Sujet :

Concurrence et multi-thread Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Par défaut [Thread] ressource critique
    Bonjour,

    j'ai du mal à appliquer sur mon prog ce que j'ai compris sur les ressources critiques en Java.

    Je lance n Threads. Plusieurs d'entre eux peuvent a tout moment accéder à une des deux méthodes (M1 et M2) d'un objet O. Ces deux méthodes sont aussi en concurrence. En effet, les deux méthodes effectuent une connexion au modem GSM sur le port Com 4 (M1 sert à vérifier que le modem est en état de marche, M2 sert à envoyer des SMS) mais une seule connexion à la fois est possible. Auriez-vous une solution simple (je pense avec wait et notify) pour résoudre ce pb svp?

    NB:M1 et M2 sont appelés dans le run des threads.
    NB2: doit-on faire la même chose avec un serveur smtp quand on le teste et qu'on envoie des mails en même temps)

    Merci.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2003
    Messages : 119
    Par défaut
    Salut,
    Je declarerais les methodes en static avec le mot clé synchronized...
    Bon dev !

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Par défaut
    y'a pas besoin de mettre des petits wait() et notify() ?

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Par défaut
    c'est dingue ça marche comma t'as dit. C'est ce que j'avais fait au début mais j'avais pas osé le tester, je ne pensais pas que c'était aussi simple.

    Merci

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Par défaut
    il serais peut être préférable de locker la ressource critique plutôt que de synchroniser les méthodes !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    {
      synchronized(m1) {
        m1.faireQuelquechose();
      }
      faireAutreChoseSansm1();
    }

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Par défaut
    les deux appels de fonction peuvent intervenir à plusieurs endroits dans mon code principal et dans différentes fonctions. ça marcherait quand même comme tu as mis?

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

Discussions similaires

  1. Threads et ressource partagée !
    Par myryad dans le forum Concurrence et multi-thread
    Réponses: 3
    Dernier message: 19/06/2008, 13h28
  2. Section critique pour proteger des ressources
    Par devconf77 dans le forum Windows
    Réponses: 3
    Dernier message: 11/04/2008, 15h44
  3. Zone critique pour 2 threads
    Par TrEiZe85 dans le forum Windows Forms
    Réponses: 13
    Dernier message: 06/09/2007, 18h15
  4. Problème de thread : Plus de ressources système
    Par OliverSleep dans le forum C++Builder
    Réponses: 17
    Dernier message: 07/02/2006, 15h35
  5. Comment partager les ressources entre 2 threads?
    Par remimichot dans le forum Concurrence et multi-thread
    Réponses: 7
    Dernier message: 29/12/2005, 09h17

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