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

Rodinys: 24478|Atsakyti: 2

[Šaltinis] C# našumo optimizavimas: tinginys inicijuoja tinginį su <T>vėlavimu

[Kopijuoti nuorodą]
Paskelbta 2019-06-17 16:17:17 | | | |
1. Apžvalga

Objektui sukurti reikia daug sąnaudų, o šis objektas gali būti nenaudojamas bėgimo metu, todėl norint išvengti objekto kūrimo kiekvieną kartą, atsiranda tingus inicijavimas (dar vadinamas tingiu egzemplioriumi).

Uždelstas inicijavimas įvyksta . NET 4.0, kuris pirmiausia naudojamas našumui pagerinti, išvengti švaistomų skaičiavimų ir sumažinti programos atminties reikalavimus. Tai taip pat gali būti vadinama pakrovimu pagal poreikį.

2. Pagrindinė gramatika


3. Įgyvendinkite pavyzdžiais

Pradėkite sukurdami mokinių klasę naudodami šį kodą:

Sukurkite konsolės programą su šiuo kodu:

Nustatęs derinimo stabdymo tašką, pastebėjau, kad po naujo studento IsValueCreated reikšmė buvo klaidinga, o vertės reikšmė buvo nulinė



Tada, iškviečiant ypatybę Name, studento IsValueCreated reikšmė yra teisinga, o reikšmės reikšmė nebėra nulinė



Vykdymo rezultatas:



Galima pastebėti, kad studentas inicijuojamas tik tada, kai išvedamas atributas Name, tai yra, jis inicijuojamas, kai jis naudojamas pirmą kartą, kad būtų pasiektas vartojimo mažinimo tikslas.

Šis pavyzdys yra paprastas ir <T>pats paprasčiausias būdas naudoti "Lazy". Taip pat galime naudoti<T> "Lazy" perkrovos funkciją "Lazy"<T> (Func<T>), kad perduotume atstovą su grąžinamąja reikšme, kad nustatytume tinginio inicijavimo objekto ypatybės reikšmę.

Vykdymo rezultatas:



Pastaba: Tinginio<T> objekto inicijavimas pagal numatytuosius nustatymus yra saugus gijoms, o kelių gijų aplinkoje pirmoji gija, pasiekianti objekto<T> ypatybę Reikšmė, inicijuos objektą Tinginys<T>, o vėlesnės prieigos gijos naudos pirmą kartą inicijuotus duomenis.

4. Taikymo scenarijai

Yra objektas, kurį reikia sukurti, ir programa gali jo nenaudoti. Pavyzdžiui, tarkime, kad jūsų programa paleidžiant įkelia kelis objektų egzempliorius, tačiau reikia nedelsiant vykdyti tik kelis egzempliorius. Galite pagerinti programos paleidimo našumą atidėdami nereikalingų objektų inicijavimą, kol bus sukurti reikiami objektai.






Ankstesnis:Atskleiskite keletą tiesų apie pokalbį
Kitą:JCSHELL testavimo įrankio vartotojo vadovas
Paskelbta 2019-06-18 18:18:32 |
Na, supratau
 Savininkas| Paskelbta 2023-07-04 19:19:55 |
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