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

Rodinys: 19029|Atsakyti: 0

[Šaltinis] C# atlieka saugias perėjimo operacijas kelių gijų aplinkoje

[Kopijuoti nuorodą]
Paskelbta 2016-10-18 13:55:48 | | |

Šiame straipsnyje kaip operacijos objektas naudojamas sąrašas
MSDN oficialiai pateikia sąrašo gijų saugos pareiškimą:
Šio tipo viešasis statinis narys yra saugus sriegiams. Tačiau negalima garantuoti, kad nė vienas egzemplioriaus narys bus saugus sriegiais.
Kol rinkinys nėra modifikuotas, "List" gali palaikyti kelis skaitytuvus vienu metu. Išvardijimas per rinkinį iš esmės nėra saugus procesas. Retais atvejais, kai išvardijimas konkuruoja su viena ar keliomis rašymo prieigomis, vienintelis būdas apsaugoti gijas yra užrakinti rinkinį visam išvardijimo laikotarpiui. Norėdami leisti kelioms gijoms pasiekti rinkinį skaitymo ir rašymo operacijoms, turite įdiegti savo sinchronizavimą.
Jei nesinchronizuojate?
Jei viena gija atlieka ištrynimo operaciją, o gija atlieka perėjimo operaciją, tada perėjimo proceso metu rinkinys modifikuojamas, todėl pasirodys InvalidOperationException išimtis, raginanti: rinkinys buvo modifikuotas; Išvardijimo operacijų atlikti negalima.
Kaip sinchronizuoti, kad būtų užtikrintas perėjimo saugumas
Kritinės zonos, muteksai čia naudojami gijų perėjimo procesui apsaugoti, kodo pavyzdys yra toks:






Ankstesnis:Oficialios "WeChat" paskyros "China Unicom" jssdk parašo klaidos sprendimas
Kitą:asp.net MVC visuotinis išimčių tvarkymas ir išimčių žurnalai
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