See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 19029|Vastuse: 0

[Allikas] C# teostab turvalisi liikumisoperatsioone mitmelõimelises keskkonnas

[Kopeeri link]
Postitatud 18.10.2016 13:55:48 | | |

Selles artiklis kasutatakse operatsiooniobjektina Listi
MSDN annab ametlikult Listi teema ohutuse kirjelduse:
Selline avalik staatiline liige on lõimekindlalt kaitstud. Kuid ükski instantsi liige ei ole garanteeritud, et see on lõimede jaoks ohutu.
Kui kogu pole muudetud, saab List toetada korraga mitut lugejat. Loendamine läbi hulga ei ole iseenesest lõime-turvaline protsess. Harvadel juhtudel, kui loendamine konkureerib ühe või mitme kirjutusjuurdepääsuga, on lõimede turvalisuse tagamiseks ainus viis kogu loendamise kestuse ajaks lukustada. Selleks, et võimaldada mitmel lõimel kogule ligi pääseda lugemis- ja kirjutamistoimingute jaoks, peate rakendama oma sünkroniseerimise.
Kui sa ei sünkrooni?
Kui üks lõim sooritab kustutamisoperatsiooni ja lõim läbimise operatsiooni, siis läbimise käigus muudetakse kogu, mis põhjustab InvalidOperationException erandi ilmumise, mis annab märku: kogu on muudetud; Loendamistoiminguid ei tohi teha.
Kuidas sünkroniseerida, et tagada liikumise turvalisus
Kriitilised tsoonid, mutexid on siin kasutusel lõimede läbimise protsessi turvamiseks, näidiskood on järgmine:






Eelmine:Lahendus WeChati ametliku konto jssdk allkirja veale China Unicomi all
Järgmine:asp.net MVC globaalsed erandite käsitlemise ja erandlogid
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com