Aký je rozdiel medzi testovaním dátovej štruktúry bez zámku a dátovej štruktúry so zámkom?


Odpoveď 1:

Či už dôjde k zamknutiu, je detail implementácie, nie pozorovateľné správanie, takže v testoch jednotiek, ktoré by ste napísali, by nemal byť žiaden rozdiel.

V obidvoch prípadoch by ste chceli simulovať silné súčasné zaťaženie, aby ste sa uistili, že ak existuje miesto, ktoré nie je primerane zabezpečené synchronizačným mechanizmom (či už na základe zámku alebo nie), máte čo najväčšiu šancu zasiahnuť. stav pretekov a zlyhanie testu.

Vyžadovalo by sa tiež testovanie výkonnosti v rámci rôznych druhov pracovných za ažení, najmä ak ste chceli porovnávať implementácie založené na uzamkávaní s implementáciami bez uzamknutia. Dva prístupy môžu mať rôzne výkonnostné charakteristiky, pretože záťaž sa mení.