Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 21695|Svar: 1

[Kilde] .net/c# Vær forsigtig med begivenheder, der trækker dit program ned

[Kopier link]
Opslået på 21/09/2016 16.05.58 | | | |
Events indlæses og køres på hovedtråden, og hvis den første hændelse i hovedtråden ikke er færdig, kommer du til den anden begivenhed, ligesom andre programmer i hovedtråden, vent til den forrige er færdig med behandlingen, før du behandler det næste eller et andet program eller event i hovedtråden.




Ovenstående er, at jeg selv indkapslede et objekt, og i objektet indkapslede jeg selv en begivenhed.

Jeg behandler data ved at abonnere på begivenheder, såsom billedannotationsdelen,

Fordi den begivenhed, jeg abonnerede på, var en read txt-fil, og min txt-fil havde 50.000 linjer, hvilket fik event-metoden til at blive udløst 50.000 gange.

Da jeg så kørte programmet, opdagede jeg, at mit interface var i en tilstand af suspenderet animation, og jeg vidste, at der måtte være et problem der.

Jeg troede først, det var manipulationen af UI-kontrollerne på den måde, der forårsagede falsk død.

Derefter blev det trin for trin opdaget, at når data blev tilføjet til sættet, var det allerede gået ind i en tilstand af suspenderet animation.

Hvorfor??? Endelig fandt jeg ud af på internettet, at begivenheden er i hovedtråden, og hvis den første begivenhed ikke bliver behandlet, vil den blokere udførelsen af den næste begivenhed,

Jeg forstod generelt, hvad jeg beordrede, for at sige det ligeud: 50.000 hændelser fik programmet blokeret, og så gik jeg ind i en tilstand af suspenderet animation.

Opløsning:

For nogle simple begivenheder, som ikke vil føre til udførelse af et stort antal hændelsesmetoder, kan de skrives direkte ind i hændelsesmetoden.

For et stort antal event-metoder kaldt, håber jeg, du vil åbne en tråd for at håndtere det, såsom: socket eller httplistener osv. (mængden af data er lille, og du kan ikke se den, når datamængden er stor, haha, så dør den direkte)




Tidligere:C# genererer e-mailadressekoder i bulk
Næste:Cloud broadcast player analyse, Thunderbolt og QQ whirlwind interface analyse
Opslået på 22/09/2016 09.23.17 |
Nogen har skrevet rigtig godt, support
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com