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?
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?
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.
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).
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
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.