Turinys:
Apibrėžimas - ką reiškia užrakto teiginys?
Užrakto užraktas, pateiktas C #, yra teiginys, kuriame yra raktinis žodis „užraktas“ ir kuris naudojamas daugiasriegėse programose, siekiant užtikrinti, kad dabartinė gija vykdo kodo bloką iki galo, netrukdydama kitiems gijams. Užrakto sakinys gauna abipusį atskirties užraktą tam tikram objektui, kad viena gija vienu metu vykdytų kodo bloką ir išeitų iš jo, atleidusi užraktą.
Užrakto užraktas yra išskirtinis užrakto konstrukcija, naudojama norint užtikrinti sinchronizuotą prieigą prie bendrų duomenų daugiapakopėse programose. Tai padeda apsaugoti keičiamo šaltinio, kuriuo dalijasi keli gijos, vientisumą, nesukuriant trukdžių tarp šių gijų. Užrakto užrašą gali naudoti atskiras objektas, kad keli klientai negalėtų vienu metu pasiekti savo bendrų duomenų.
Užrakto užraktas yra pagrindinis sinchronizacijos primityvas, kurį galima rasti .NET Framework klasės bibliotekoje. Jis automatiškai sugeneruoja nuoseklų ir išimtinai saugų kodą, galintį patenkinti sinchronizacijos poreikius daugiapakopėse programose. Tai taip pat suteikia paprastą sinchronizacijos valdymo metodą generuojant efektyvų kodą, kuris apsaugo nuo klaidų, kurias gali sukelti rankiniu būdu parašytas kodas.
„Techopedia“ paaiškina „Lock Statement“
Užrakto sakinyje turėtų būti pateiktas nuorodos tipo, o ne vertės tipo argumentas. Apskritai, norint apsaugoti duomenis, kurie yra bendri tarp visų objekto egzempliorių, rekomenduojama užrakinti asmeninį egzemplioriaus narį arba privatųjį statinį narį. Kadangi užrakinimas viešojo tipo arba egzemplioriuose, kurių kodas nekontroliuojamas, gali sukelti aklavietę, kai kelios gijos laukia, kol bus išleistas vienas objektas, naudojamas užrakto teiginiui, jų reikia vengti.
Užrakto užrašo naudojimo pavyzdys gali būti daugiasluoksnė programa, kurioje sąskaitos objektas, turintis metodą likučiui atsiimti, užrakto ataskaitą naudoja užkirsti kelią kelioms gijoms vienu metu vykdyti tą patį metodą, dėl kurio likutis gali būti pakeistas neigiamu skaičiumi. .
Užrakto užrašo dalis turi būti nedidelė, kad būtų sumažintas laikas, reikalingas kitoms užrakto laukiančioms sriegoms, sumažėja aklavietės tikimybė ir sumažėtų tikimybė, kad įvyks išimtis.
Užrakto teiginių naudojimo apribojimai apima tai, kad jie gali būti naudojami tik su duomenimis, kurie yra svarbūs dabartinei programai. Užrakto užraktai taip pat negali palaikyti laiko.
