Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 19792|Atsakyti: 0

[Šaltinis] SyncRoot naudojimas StringDictionary

[Kopijuoti nuorodą]
Paskelbta 2016-11-23 14:26:38 | | | |

C# objektinis programavimas, suteikia daug patogių operacijų klasių, dabar šis "StringDictionary" yra klasių rinkinys, kurio specializacija yra eilučių kaip raktų ir reikšmių saugojimas, šios klasės reikšmė yra: C# žino, kad reikšmių tipo eilutė yra gana plačiai naudojama, kiti reikšmių tipai taip pat gali būti konvertuojami į atitinkamus eilučių tipus, tai yra šios kolekcijos reikšmė, tačiau vis tiek galite naudoti kitus kolekcijos objektus, kad ją pakeistumėte, tačiau atkreipkite dėmesį į vieną dalyką, Jei tai yra eilučių saugykla, tai gali sumažinti atminties praradimą ir sutrumpinti programos paleidimo laiką


SyncRoot gali būti naudojamas sinchronizuoti prieigą prie StringDictionary

Tiesiai šviesiai tariant, tai yra užrakto sąvoka, parašykime programą, kad ją išbandytume:

Kodas yra toks:



Vienu metu turime dvi gijas, kad galėtume pridėti duomenis prie "StringDictionary" žodyno,

Vykdymo laiko skirtumas tarp pirmosios ir antrosios gijos yra viena sekundė, kad būtų padidintas laiko skirtumas ir vykdymas nebūtų per greitas.

Matote, kad gijos perėjo prie dviejų metodų, o pridedant antrąjį duomenų gabalą jie laukė, kol bus pridėti pirmieji duomenys prieš pridėdami antruosius duomenis, o papildymo laikas yra labai greitas.

Žemiau parašysime kitaip, kad būtų lengviau suprasti:





Atidaromos 3 gijos, pridedami duomenys, o 3 gijos vykdomos beveik tuo pačiu metu, tačiau pridedant duomenis kiekviena skiriasi 10 sekundžių.

Apibendrinant galima pasakyti, kad kai prieiga prie kelių gijų, galime naudoti "SyncRoot", kad užtikrintume gijų saugumą




Ankstesnis:Kaip naudoti WPF Trigger mygtukams perjungti
Kitą:c# Naudokite OCR kinų vaizdams atpažinti
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com