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

Rodinys: 21695|Atsakyti: 1

[Šaltinis] .net/c# Būkite atsargūs dėl įvykių, kurie tempia žemyn jūsų programą

[Kopijuoti nuorodą]
Paskelbta 2016-09-21 16:05:58 | | | |
Įvykiai įkeliami ir vykdomi pagrindinėje gijoje, o jei pirmasis pagrindinės gijos įvykis nėra baigtas, jūs ateisite į antrąjį įvykį, kaip ir kitos pagrindinės gijos programos, palaukite, kol ankstesnė baigs apdoroti, prieš apdorodami kitą ar kitą programą ar įvykį pagrindinėje gijoje.




Tai, kas išdėstyta aukščiau, yra tai, kad aš pats inkapsuliavau objektą, o objekte pats įrašiau įvykį.

Apdoroju duomenis prenumeruodamas įvykius, pvz., vaizdo anotacijos dalį,

Kadangi įvykis, kurį užsiprenumeravau, buvo perskaitytas txt failas, o mano txt failas turėjo 50 000 eilučių, todėl įvykio metodas buvo suaktyvintas 50 000 kartų.

Tada, kai paleidau programą, pastebėjau, kad mano sąsaja buvo sustabdytos animacijos būsenoje ir žinojau, kad ten turi būti problema.

Iš pradžių maniau, kad tai buvo manipuliavimas vartotojo sąsajos kontrolės metodas, kuris sukėlė netikrą mirtį.

Tada žingsnis po žingsnio buvo nustatyta, kad pridedant duomenis prie rinkinio, jis jau buvo perėjęs į sustabdytos animacijos būseną.

kodėl??? Galiausiai iš interneto sužinojau, kad įvykis yra pagrindinėje gijoje, o jei pirmasis įvykis nebus apdorotas, jis blokuos kito įvykio vykdymą,

Apskritai supratau, ką įsakiau, tiesiai šviesiai tariant, 50 000 įvykių užblokavo programą, o tada įėjau į sustabdytos animacijos būseną.

Sprendimas:

Kai kuriems paprastiems įvykiams, kurie nesukels daugybės įvykių metodų, galima įrašyti tiesiai į įvykio metodą.

Dėl daugelio įvykių metodų vadinamas, tikiuosi, kad jums bus atidaryti giją, kad su juo susidoroti, pavyzdžiui: lizdas arba httplistener, ir tt (duomenų kiekis yra mažas ir jūs negalite matyti, kai duomenų kiekis yra didelis, haha, jis mirs tiesiogiai)




Ankstesnis:C# masiškai generuoja el. pašto adresų kodus
Kitą:Debesų transliacijų grotuvo analizė, "Thunderbolt" ir "QQ" viesulo sąsajos analizė
Paskelbta 2016-09-22 09:23:17 |
Kažkas parašė labai gerai, palaikymas
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