Hvad er forskellen mellem test af en låsefri datastruktur og en datastruktur med lås?


Svar 1:

Hvorvidt låsing forekommer eller ej er en implementeringsdetalje, ikke en observerbar opførsel, så der ville ikke være nogen forskel i de enhedstest, du vil skrive.

I begge tilfælde ønsker du at simulere tung samtidig belastning for at sikre, at hvis der er et sted, der ikke er passende sikret med en synkroniseringsmekanisme (hvad enten låsebaseret eller ej), har du så stor chance for at ramme løbets tilstand og at have en test mislykkes.

Der kræves også ydelsestestning på tværs af forskellige typer arbejdsbelastninger, især hvis du vil sammenligne låsebaserede implementeringer med låsefrie. De to tilgange kan have forskellige ydelsesegenskaber, da belastningen varierer.