Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 21695|Vastaus: 1

[Lähde] .net/c# Ole varovainen tapahtumien kanssa, jotka hidastavat ohjelmaasi

[Kopioi linkki]
Julkaistu 21.9.2016 16.05.58 | | | |
Tapahtumat ladataan ja suoritetaan pääsäikeessä, ja jos ensimmäinen tapahtuma pääsäikeessä ei ole valmis, tulet toiseen tapahtumaan, kuten muutkin ohjelmat pääsäikeessä, odotat edellisen käsittelyn valmistumista ennen seuraavan tai toisen ohjelman tai tapahtuman käsittelyä pääsäikeessä.




Yllä oleva on, että kapseloin esineen itse, ja esineeseen kapseloin tapahtuman itse.

Käsittelen dataa tapahtumien tilaamismenetelmällä, kuten kuvamerkinnässä,

Koska tilaamani tapahtuma oli lukutxt-tiedosto, ja txt-tiedostossani oli 50 000 riviä, mikä aiheutti tapahtumametodin käynnistymisen 50 000 kertaa.

Kun käynnistin ohjelman, huomasin, että käyttöliittymäni oli horroksessa animaatiossa, ja tiesin, että siinä täytyi olla jokin ongelma.

Aluksi luulin, että menetelmän käyttöliittymäkontrollien manipulointi aiheutti feikkikuoleman.

Sitten askel askeleelta havaittiin, että kun dataa lisättiin joukkoon, se oli jo siirtynyt keskeytetyn animaation tilaan.

Miksi??? Lopulta sain internetistä selville, että tapahtuma on pääketjussa, ja jos ensimmäistä tapahtumaa ei käsitellä, se estää seuraavan tapahtuman suorituksen,

Ymmärsin yleisesti mitä käskin, suoraan sanottuna, 50 000 tapahtumaa aiheutti ohjelman eston, ja sitten siirryin keskeytetyn animaation tilaan.

Ratkaisu:

Joidenkin yksinkertaisten tapahtumien kohdalla, jotka eivät johda suuren määrän tapahtumametodien suorittamiseen, voidaan kirjoittaa suoraan tapahtumametodiin.

Monille tapahtumametodeille toivon, että avaat ketjun niiden käsittelemiseksi, kuten: socket tai httplistener jne. (datamäärä on pieni eikä sitä näe, kun datamäärä on suuri, haha, se kuolee suoraan)




Edellinen:C# generoi sähköpostikoodit massana
Seuraava:Cloud broadcast player -analyysi, Thunderbolt- ja QQ whirlwind interface -analyysi
Julkaistu 22.9.2016 9.23.17 |
Joku postasi todella hyvin, tuki
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com