"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Doit-on "synchronisé (ceci)" "

Doit-on "synchronisé (ceci)" "

Publié le 2025-04-15
Parcourir:663

Should You Avoid `synchronized(this)` in Java?

devrait synchronisé (this) en java être évité?

Certains développeurs plaident contre l'utilisation de Synchronisé (this), affirmant qu'un verrouillage sur une référence privée est préférable. Les raisons citées incluent le vol de verrouillage potentiel, le débit réduit et l'exposition excessive des informations.

Vol de verrouillage

Bien que le vol de verrouillage soit une préoccupation potentielle, il est plus susceptible de se produire involontairement en raison de l'accès accidentel à la verrouillage. Lorsque synchronisé (ceci) est utilisé, le verrou fait partie de l'interface exposée de la classe et doit être documenté en conséquence. Dans certains scénarios, un autre code peut accéder intentionnellement à la serrure, comme lors de l'utilisation de Collection.SynchronizedMap.

Débit réduit

La revendication que Synchronisé (ceci) réduit le débit est trop simpliste. L'élimination des synchronisés (ceci) seuls n'améliorera pas les performances. Une bonne synchronisation nécessite une conception minutieuse pour optimiser le débit.

Exposition des informations excessives

synchronisé (this) partage le verrou sur toutes les méthodes synchronisées au sein d'une classe. Si un verrouillage à grain fin est requis, alors synchronisé (ceci) n'est pas applicable et doit être remplacé par un verrou privé.

à utiliser synchronisé (ce Avantages:

Il s'agit d'un idiome largement utilisé, facilitant la lisibilité et la compréhension du code.

    Il est sûr et bien testé, offrant une synchronisation fiable. classe.
  • Conclusion
Le choix entre synchronisé (this) et un verrou privé dépend des exigences spécifiques de l'application. Bien que synchronisé (ceci) ne doit pas être évité carrément, les développeurs devraient soigneusement considérer ses implications et utiliser un verrou privé si nécessaire, comme lorsque la granularité ou la cachette d'information est une priorité.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3