Qu'est-ce que la synchronisation de thread dans Java? donnez n'importe quel exemple dessus en détailQu'est-ce que la synchronisation de thread dans Java?
Répondre
Jetez un oeil à la java tutorial sur la synchronisation.
Veuillez également lire Concurrency in pratice par Doug Lea. –
Dans les programmes multithread, il existe souvent des sections du programme qui doivent être exécutées de manière atomique (comme s'il s'agissait d'une seule opération). Ceux-ci sont généralement appelés régions critiques et sont protégés en utilisant des paradigmes d'exclusion mutuelle (mutex). Le mot-clé synchronized
dans Java est une telle façon de fournir une exclusion mutuelle.
Tenir compte du code:
synchronized(lockObject) {
//critical code
}
Dans le code ci-dessus, un seul thread peut entrer dans ce bloc synchronisé à un moment aussi longtemps que ne change jamais la référence d'objet par la lockObject
variable. Cela garantit que le code exécuté dans le bloc synchronisé n'est jamais exécuté que par un seul thread.
Des exemples courants d'où le verrouillage est nécessaire seraient lors de l'itération sur une collection. Peu d'implémentations de Java Collection offrent une itération sûre des threads. Une méthode de base pour créer une itération thread-safe serait de protéger chaque accès à la collection avec un bloc synchronisé sur cette collection.
Par exemple:
synchronized(myCollection) {
myCollection.add(item);
}
synchronized(myCollection) {
myCollection.remove(item);
}
synchronized(myCollection) {
for(Object item:myCollection){
System.out.println(item);
}
}
- 1. Java Multi problème de synchronisation de thread?
- 2. Java - Synchronisation de thread dans une application Web
- 3. Synchronisation de thread
- 4. Jeux de synchronisation Java: synchronisation && wait && notifier
- 5. débogage de la synchronisation Java
- 6. que signifie la synchronisation?
- 7. Impasse de thread dans l'application Java EE
- 8. aide de synchronisation en Java
- 9. Synchronisation de thread avec boost :: condition_variable
- 10. Problème de synchronisation Java
- 11. fcntl() pour la synchronisation de thread ou de processus?
- 12. synchronisation Java
- 13. Synchronisation de plusieurs threads écrivant dans le même fichier java
- 14. Que signifie "synchronisation incohérente"?
- 15. Modèle correct pour la synchronisation multi-thread? (C#)
- 16. Qu'est-ce que la synchronisation de condition?
- 17. Synchronisation de threads en Java, IllegalMonitorStateException
- 18. Question de thread Java
- 19. Synchronisé dans un thread Java
- 20. iPhone SDK - Barre de recherche Synchronisation de thread Question
- 21. Appel à l'attente() Java Object casse la synchronisation des threads
- 22. Java: comment faire que ce thread principal attende la fin du nouveau thread
- 23. Quand et pourquoi utiliser la synchronisation Java?
- 24. Que signifie "synchronisation avec la mémoire principale"?
- 25. Qu'est-ce que le thread du répartiteur de signaux java?
- 26. Combien coûte la synchronisation?
- 27. Comment détecter les violations de synchronisation avec Java
- 28. Comment supprimer un thread d'un autre thread dans Java?
- 29. Java: synchronisation (Object) et RejectedExecutionException
- 30. problème java swing thread
Recherche sur Google et vous trouverez beaucoup de bons exemples. –
Cela ressemble à des devoirs. S'il vous plaît découvrez les bases par vous-même et ensuite poser quelques questions plus spécifiques à ce sujet ici. – tangens
Je ne réponds généralement pas aux questions de devoirs en détail. Mais une réponse copiée/collée à partir d'ici est aussi bonne qu'une copie copiée/collée depuis n'importe quel autre site web. Ce n'est pas comme s'il y avait une question de programmation ici. –