Ta članek uporablja List kot operacijski objekt MSDN uradno navaja varnostno izjavo o temi List: Ta vrsta javnega statičnega člana je varna za niti (thread-safe). Vendar pa noben član instance ni zagotovljen za varnost niti (thread-safe). Dokler zbirka ni spremenjena, lahko List podpira več bralcev hkrati. Enumeracija skozi množico ni po naravi varen proces za niti (thread-ware). V redkih primerih, ko enumeracija tekmuje z enim ali več zapisnimi dostopi, je edini način, da se niti zaščitijo, ta, da se zbirka zaklene za celotno trajanje naštevanja. Da bi več niti lahko dostopalo do zbirke za operacije branja in pisanja, morate implementirati lastno sinhronizacijo. Če ne sinhroniziraš? Če ena nit izvede operacijo brisanja, druga pa operacijo prehoda, se med procesom prehoda zbirka spremeni, kar povzroči pojav izjeme InvalidOperationException, ki sproži: zbirka je bila spremenjena; Enumeracijske operacije niso dovoljene izvajati. Kako se sinhronizirati za zagotovitev varnosti premikanja Kritične cone, mutexi, se tukaj uporabljajo za zaščito procesa prehoda niti, primer kode je naslednji:
|