Kunt u uitleggen wat pessimistische locking is en hoe het verschilt van optimistische locking?
sobes.tech AI
Antwoord van AI
Pessimistische locking is een aanpak voor het beheer van gelijktijdige toegang tot gegevens, waarbij wordt aangenomen dat conflicten vaak zullen voorkomen. Daarom wordt bij het werken met een resource onmiddellijk een lock geplaatst, zodat andere operaties deze niet kunnen wijzigen totdat de huidige transactie is voltooid.
Optimistische locking daarentegen gaat ervan uit dat conflicten zeldzaam zijn. Het blokkeert de resource niet bij het lezen, maar controleert vóór het schrijven of de resource sinds het lezen niet is gewijzigd. Als er wijzigingen zijn, wordt de operatie teruggedraaid of herhaald.
Voorbeeld: in een database kan pessimistische locking worden gebruikt via SQL-query's met rijblokkering (SELECT ... FOR UPDATE), terwijl optimistische locking kan worden geïmplementeerd via versievakken of controle-sommen.