Selles artiklis kasutatakse operatsiooniobjektina Listi MSDN annab ametlikult Listi teema ohutuse kirjelduse: Selline avalik staatiline liige on lõimekindlalt kaitstud. Kuid ükski instantsi liige ei ole garanteeritud, et see on lõimede jaoks ohutu. Kui kogu pole muudetud, saab List toetada korraga mitut lugejat. Loendamine läbi hulga ei ole iseenesest lõime-turvaline protsess. Harvadel juhtudel, kui loendamine konkureerib ühe või mitme kirjutusjuurdepääsuga, on lõimede turvalisuse tagamiseks ainus viis kogu loendamise kestuse ajaks lukustada. Selleks, et võimaldada mitmel lõimel kogule ligi pääseda lugemis- ja kirjutamistoimingute jaoks, peate rakendama oma sünkroniseerimise. Kui sa ei sünkrooni? Kui üks lõim sooritab kustutamisoperatsiooni ja lõim läbimise operatsiooni, siis läbimise käigus muudetakse kogu, mis põhjustab InvalidOperationException erandi ilmumise, mis annab märku: kogu on muudetud; Loendamistoiminguid ei tohi teha. Kuidas sünkroniseerida, et tagada liikumise turvalisus Kriitilised tsoonid, mutexid on siin kasutusel lõimede läbimise protsessi turvamiseks, näidiskood on järgmine:
|