C# objektorienteeritud programmeerimine pakub palju kasutajasõbralikke operatsiooniklasse, nüüd on see StringDictionary klasside kogum, mis on spetsialiseerunud stringide salvestamisele võtmete ja väärtustena. Selle klassi tähendus on: C# teab, et väärtustüübis olevaid stringe kasutatakse üsna laialdaselt, teisi väärtustüüpe saab samuti teisendada vastavateks stringitüüpideks, see ongi selle kogumiku tähendus, kuid sa võid siiski kasutada teisi kogumi objekte selle asendamiseks, kuid pööra tähelepanu ühele punktile, Kui tegemist on stringi salvestusega, võib see vähendada mälukaotust ja lühendada programmi käivitamiseks kuluvat aega
SyncRooti saab kasutada StringDictionary ligipääsu sünkroniseerimiseks
Otse öeldes on see luku kontseptsioon, kirjutame programmi selle testimiseks:
Kood on järgmine:
Meil on korraga kaks lõime, et lisada andmeid StringDictionary sõnastikku,
Esimese ja teise lõime täitmise aja on üks sekund, et suurendada ajavahet ja vältida täitmise liiga kiiret.
Näete, et lõimed on jõudnud kahe meetodi juurde ning teise andmetüki lisamisel oodatakse esimese lisamist enne teise lisamist ning lisamisaeg on väga kiire.
Allpool kirjutame selle teistmoodi, et oleks lihtsam mõista:
Avatakse 3 lõime, andmed lisatakse ja need kolm lõime käivitatakse peaaegu samaaegselt, kuid andmete lisamisel on igaüks 10 sekundi vahega.
Kokkuvõttes saame mitmelõimelise ligipääsu korral kasutada SyncRooti, et tagada lõime turvalisus
|