Skip to main content

Qu'est-ce que le contrôle de la concurrence?

Dans la programmation de gestion des données, le contrôle concurrentiel est un mécanisme conçu pour garantir que des résultats précis sont générés par des opérations simultanées.Ces résultats doivent également être obtenus en temps opportun.Le contrôle de la concurrence est très souvent observé dans les bases de données où il existe un cache d'informations consultables à obtenir.

Les programmeurs essaient de concevoir une base de données de telle manière que l'effet des transactions importantes sur les données partagées sera équivalente en série.Cela signifie que les données qui entrent en contact avec des ensembles de transactions seraient dans un certain état où les résultats peuvent être obtenus si toutes les transactions s'exécutent en série et dans un ordre particulier.Parfois, ces données sont invalides à la suite de la modification par deux transactions, simultanément.

Il existe plusieurs façons de s'assurer que les transactions en exécutent les unes après les autres, y compris l'utilisation de l'exclusion mutuelle ainsi que la création d'une ressource qui décide quelles transactions ontaccès.Il s'agit cependant d'une exagération et ne permettra pas à un programmeur de bénéficier d'un contrôle de la concurrence dans un système distribué.Le contrôle de la concurrence permet l'exécution simultanée de transactions multiples tout en éloignant ces transactions les uns des autres, assurant la linéarinabilité.Une façon d'implémenter le contrôle de concurrence est l'utilisation d'un verrou exclusif sur une ressource particulière pour les exécutions de transactions en série qui partagent les ressources.Les transactions verrouilleront un objet destiné à être utilisé, et si une autre transaction fait une demande pour l'objet verrouillé, cette transaction doit attendre que l'objet déverrouille.

L'implémentation de cette méthode dans les systèmes distribués implique des gestionnaires de verrouillage mdash;serveurs qui émettent des verrous de ressources.Ceci est très similaire aux serveurs pour les exclusions mutuelles centralisées, où les clients peuvent demander des verrous et envoyer des messages pour la libération de verrous sur une ressource particulière.Cependant, la préservation de l'exécution en série est toujours nécessaire pour le contrôle de la concurrence.Si deux transactions distinctes accèdent à un ensemble d'objets similaires, les résultats doivent être similaires et comme si ces transactions étaient exécutées dans un ordre particulier.phase, où la transaction acquiert son verrouillage nécessaire.La phase suivante est considérée comme une phase de rétrécissement, dans laquelle la transaction a libéré ses verrous.Il y a des problèmes avec ce type de verrouillage.Si les transactions abandonnent, d'autres transactions peuvent utiliser des données à partir d'objets modifiés et déverrouillés par des transactions abandonnées.Cela entraînerait une intervention interdite d'autres transactions.