sql >> Databasteknik >  >> RDS >> Oracle

Kan det finnas ett dödläge när man använder optimistisk låsning?

Jag är rädd att du måste vara mycket exakt i din definition av optimistisk samtidighetskontroll. I den klassiska definitionen av Bernstein, Goodman och Hadzilacos tillåter optimistisk samtidighetskontroll trådar att "virtuellt" förvärva låsen, fortsätta med uppdateringarna och sedan kontrollera om det inte finns någon konsistens när transaktionen försöker begås. Om en konsistensöverträdelse inträffar, tvingas transaktionen avbrytas och skickas in på nytt. Enligt denna definition är det inte klart hur ett dödläge kan uppstå, eftersom trådar "aldrig" blockeras i väntan på ett lås. Den klassiska definitionen av optimistisk samtidighetskontroll är inte lätt att implementera praktiskt. Men det senaste arbetet med hårdvarutransaktionsminne öppnar vissa möjligheter och kastar lite perspektiv på detta gamla problem.



  1. Visa MySQL-resultat efter datum

  2. Ge en användare behörighet att endast se en MySQL-vy och inget annat

  3. Vad är SQL Server-ekvivalenten för ELT() i MySQL?

  4. Verktyg som konverterar mySQL-fråga till Zend FrameWork-fråga