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

2D Java Discussion :

créer et gérer des moniteur


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 4
    Par défaut créer et gérer des moniteur
    j'ai un tp à faire mais

    Ecrire un programme java qui permet d'afficher une fenêtre sur laquelle se trouve 2 boutton "gauche" et "droite" à chaque fois qu'on choisi un botton on effectue son contenu à un objet initialisé au centre tout bas sur cette fenetre pour le deplacer en haut à gauche ou à droite et à chaque fois on atteint l'une des extremité de la fenetre en efface le chemin dessiné et en recommence

    le deplacement de cet objet est en exclusion mutuelle (soit a gauche soit droite) et synchronization (on m'a demande de faire une solution avec les moniteur) je l'ai ecrit algorithmiquement mais le probleme que je metrise pas le java et surtout coté graphique

    pouvez-vs m'aider s'il vous plait

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    si il s'agit d'une interface graphique, la synchronisation n'a pas de sens: On ne peux faire qu'une action à la fois dans l'EDT de toutes façons.

    Mis à part ça, la synchronisation (exclusion mutuelle donc) en java, ca se fait basiquement via le mot clé "synchronized" et tout objet java peut servir de moniteur à ce sujet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Thread1:
    synchronzied(unObject){
       // du code
    }
    Thread2:
    synchronzied(leMemeObject){
       // du code qui ne pourra pas tourner en meme temps que le code ci-dessus
    }

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 4
    Par défaut
    donc on n'est pas obligé d'ecrire le code du monitor?!et le mot clé synchronized suffit?!!

  4. #4
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Quel que soit le langage (si on parle bien de la même chose), on ne doit pas écrire le code des sémaphores et autres, puisque par définition c'est le système d'exploitation qui gère ça

    En l'occurrence, le mot clé synchronized permet d'obtenir un verrou sur "un objet". Tout autre thread qui essaierait alors d'obtenir une verrou sur le même objet serait mis en attente.

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 4
    Par défaut
    Merci beaucoup pour votre réponse , mais pour l'objet, comment puis-je l'utiliser? Ou quels sont les choix que je possède " das la bibliothèque"?

  6. #6
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    n'importe quel objet fait l'affaire, faut juste que ce soit le meme.

    Pour la synchro en java, il y a le mot clé synchronized, les méthode wait() notify() et notifyAll() sur les objet. Puis toute une série d'apis évoluées que vous trouverez dans java.util.concurrent

Discussions similaires

  1. Créer et gérer des threads
    Par Mako 5013 dans le forum Général Java
    Réponses: 3
    Dernier message: 13/02/2012, 13h39
  2. Réponses: 0
    Dernier message: 19/02/2010, 10h58
  3. Créer et gérer des base OpenOffice sous delphi 7
    Par gbuxo dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/12/2009, 21h37
  4. Comment créer une table sas pour gérer des queries
    Par arnaldo1974 dans le forum Administration et Installation
    Réponses: 1
    Dernier message: 02/12/2009, 14h39
  5. [AC-2007] Créer une BDD pour gérer des appareils
    Par ICETEA54 dans le forum Modélisation
    Réponses: 3
    Dernier message: 19/11/2009, 21h32

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