119 votes

qu'est ce qu'un moniteur?

Qu'est ce qu'un moniteur visée à la programmation concurrente en Java?

Quand j'ai lu que "chaque objet est associé à un moniteur" que fait-il sens?

Est-il un objet spécial?

82voto

Pablo Santa Cruz Points 73944

Un moniteur est un mécanisme de contrôle d'accès simultanés à un objet.

Cela vous permet de faire:

Thread 1:

public void a()
{
    synchronized(someObject) {
        // do something (1)
    }
}

Filetage 2:

public void b()
{
    synchronized(someObject) {
        // do something else (2)
    }
}

Cela empêche les Fils 1 et 2 accès à l'objet d'un suivi (synchronisé) en même temps. On va commencer, et moniteur empêcher les autres d'accéder à la région avant le premier finitions.

Ce n'est pas un objet spécial. C'est mécanisme de synchronisation mis à la classe racine de la hiérarchie: java.lang.Object.

Il y a aussi wait et notify méthodes qui utilisent également l'objet de surveiller la communication entre les différents threads.

24voto

JRL Points 36674

Un moniteur est une entité qui possède à la fois un verrou et attendre ensemble. En Java, tout Object peut servir comme un moniteur.

Pour une explication détaillée de la façon dont les moniteurs de travail en Java, je vous recommande la lecture du Moniteur de la Mécanique section de Programmation Concurrente en Java (le précédent lien affiche l'aperçu dans Google livres, et que l'article est disponible pour la lecture).

9voto

mgibson Points 1
  1. Un moniteur est un concept ou un mécanisme qui n'est pas limité à la Langue de Java;
  2. "Dans la programmation simultanée, un moniteur est un objet ou d'un module destiné à être utilisé en toute sécurité par plus d'un thread";
  3. Comme chaque lecteur sait, chaque objet en Java est une sous-classe de java.lang.Objet. La java des gens java.lang.Objet de telle manière qu'il dispose de fonctionnalités et de caractéristiques qui permet à des programmeurs Java pour utiliser n'importe quel objet comme un moniteur. Par exemple, chaque objet a une file d'attente,un ré-entrée de la file d'attente et attendre et de les informer des méthodes faisant un moniteur;
  4. lire sur les moniteurs ici.

3voto

naikus Points 11284

http://java.sun.com/docs/books/jvms/second_edition/html/Concepts.doc.html#33308

Un mécanisme de contrôle d'accès à des objets un à un moment

-1voto

Joel Points 3899

Un moniteur est essentiellement une classe où tous les moyens sont mutuellement exclusifs.

http://en.wikipedia.org/wiki/Monitor_%28synchronization%29

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X