Quelqu'un peut-il donner un exemple simple d'une transaction de base de données en utilisant un verrou partagé intentionnel? Si oui, on utilise un verrou exclusif intentionnel.Verrou IS (intentionnel partagé)
Répondre
Des verrous d'intention sont nécessaires car le gestionnaire de verrous ne comprend pas la structure physique des entités verrouillées. Si une transaction S-verrouille un enregistrement, disons R1, et qu'une autre transaction demande un X-lock sur une page, disons P1, que se passe-t-il si R1 se trouve sur P1? le gestionnaire de verrous ne doit pas honorer la requête P1 jusqu'à ce que R1 soit libéré, mais pour ce faire, il doit comprendre que R1 est contenu dans P1.
Étant donné que le gestionnaire de verrous ne peut clairement pas connaître les détails structurels des objets verrouillés, le verrou d'intention a été introduit. La première transaction placera un verrou IS sur P1 puis un verrou S sur R1. Lorsque la seconde transaction demande le verrouillage X sur P1, elle entrera en conflit avec le verrou IS placé par la première transaction.
Merci Remus! – Sheldon
Donc les verrous Intent ne sont pas des verrous comme ça, mais des façons de définir si certaines données peuvent être verrouillées ou non, et si possible, comment le verrouiller? comme un arbre de haut en bas, avec une granularité robe sur les trois comme plus grand. – Sheldon
Du point de vue du gestionnaire de serrures, les verrous sont de 4 types: IS, IX, S, X (en ignorant les verrous U et d'autres types). LM les comprend tous comme des verrous et possède une matrice de compatibilité qui rend IS-IX et IX-IX compatibles (mais pas S-IX, X-IS et X-IX). L '«accesseur» (qui comprend la structure de l'arborescence de la hiérarchie) naviguera dans l'arborescence en demandant que je le verrouille en descendant la hiérarchie, jusqu'à ce qu'il trouve l'objet réel sur lequel il demande un verrou S ou X. –
- 1. Retour intentionnel des erreurs de l'AMFPHP
- 2. Propriété statique et verrou Utilisation
- 3. Android intentionnel-filtre pour schéma http
- 4. Différence entre verrou (verrou) et verrouillage (variable_qui_utilise_I_am_using)
- 5. Lecteur/graveur sans verrou
- 6. WebForm_SaveScrollPositionSubmit is undefined - ASP.NET
- 7. ModelIt is Undefined [IE7!]
- 8. WScript is undefined
- 9. Check mySQL is Correct
- 10. "google is undefined"
- 11. EventHandler is null
- 12. IKImageView resize is blocky
- 13. javascript elements is undefined
- 14. extjs - 'Store is undefined'
- 15. JQGrid - ccur is undefined
- 16. IS ResultSet thread safe
- 17. dropdownlist is asp.net
- 18. "this" is undefined
- 19. (Django) object is unsubscriptible
- 20. get resource is null
- 21. comment utiliser is()
- 22. RSClientController is undefined
- 23. Verrou de workflow "Modifier l'élément"
- 24. Verrou du chargeur détecté twain
- 25. Python: Différence entre `is` et` == `?
- 26. python: classe override "is" comportement
- 27. Youtube api - ytplayer is undefined
- 28. code de sortie AS IS
- 29. Problème d'interblocage dû à un verrou de mise à jour
- 30. Suggérer FreeWare ou Partagé Partagé explorer WebPart dans SharePoint
Est-ce ce devoir? –
Nop. Est-ce juste que je ne comprends pas comment mettre en œuvre le concept. Je comprends clairement les verrous partagés et les verrous exclusifs, mais je ne vois pas le besoin d'un verrou «intentionnel». Un exemple sera utile. – Sheldon