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.