C# objektorientēta programmēšana, nodrošina daudz lietotājam draudzīgu operāciju klases, tagad šī StringDictionary ir klašu kolekcija, kas specializējas virkņu kā atslēgu un vērtību glabāšanā, šīs klases nozīme ir: C# zina, ka virkne vērtību tipā ir diezgan plaši izmantota, citus vērtību tipus var pārvērst arī atbilstošos virkņu tipos, tā ir šīs kolekcijas nozīme, bet jūs joprojām varat izmantot citus kolekcijas objektus, lai to aizstātu, bet pievērsiet uzmanību vienam punktam, Ja tā ir virknes krātuve, tas var samazināt atmiņas zudumu un programmas palaišanai nepieciešamo laiku
SyncRoot var izmantot, lai sinhronizētu piekļuvi StringDictionary
Atklāti sakot, tas ir slēdzenes jēdziens, uzrakstīsim programmu, lai to pārbaudītu:
Kods ir šāds:
Mums vienlaikus ir divi pavedieni, lai pievienotu datus StringDictionary vārdnīcai,
Izpildes laika starpība starp pirmo un otro pavedienu ir viena sekunde, lai paplašinātu laika starpību un novērstu pārāk ātru izpildi.
Jūs varat redzēt, ka pavedieni ir aizgājuši uz abām metodēm, un, pievienojot otro datu daļu, viņi ir gaidījuši pirmo datu pievienošanu pirms otro datu pievienošanas, un pievienošanas laiks ir ļoti ātrs.
Zemāk mēs to uzrakstīsim citādi, lai būtu vieglāk saprast:
Tiek atvērti 3 pavedieni, un dati tiek pievienoti, un 3 pavedieni tiek izpildīti gandrīz vienlaicīgi, bet, kad dati tiek pievienoti, katrs ir 10 sekunžu attālumā.
Kopsavilkumā, piekļūstot vairākiem pavedieniem, mēs varam izmantot SyncRoot, lai nodrošinātu pavedienu drošību
|