See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 21695|Vastuse: 1

[Allikas] .net/c# Ole ettevaatlik sündmuste suhtes, mis su programmi alla suruvad

[Kopeeri link]
Postitatud 21.09.2016 16:05:58 | | | |
Sündmused laaditakse ja käivitatakse põhilõimes ning kui esimene sündmus põhilõimel pole lõppenud, jõuad teise sündmuseni, nagu teisedki põhilõime programmid, ootad, kuni eelmine protsess lõpetab, enne kui töödeldakse järgmist või teist programmi või sündmust põhilõimes.




Ülaltoodud on see, et ma kapseldasin objekti ise ja objekti sees kapseldasin ise sündmuse.

Töötlen andmeid sündmuste tellimise meetodil, näiteks pildi annotatsiooni osa,

Sest sündmus, millele olin tellinud, oli lugetud txt-fail ja minu txt-failis oli 50 000 rida, mis põhjustas sündmuse meetodi käivitamise 50 000 korda.

Kui ma programmi käivitasin, avastasin, et mu liides oli peatatud animatsioonis ja ma teadsin, et seal peab olema mingi probleem.

Alguses arvasin, et liidese juhtimise manipuleerimine meetodis põhjustas võltsitud surma.

Seejärel avastati samm-sammult, et andmete lisamisel oli see juba sisenenud peatatud animatsiooni seisundisse.

Miks??? Lõpuks sain internetist teada, et sündmus on põhiteemas ja kui esimest sündmust ei töödelda, blokeerib see järgmise sündmuse täitmise,

Ma mõistsin üldiselt, mida ma käskisin, otse öeldes – 50 000 sündmust põhjustas programmi blokeerimise ja siis sattusin peatatud animatsiooni seisundisse.

Lahus:

Mõne lihtsa sündmuse puhul, mis ei vii suure hulga sündmuste täitmiseni, saab metoodikuid otse sündmuste meetodisse kirjutada.

Paljude sündmuste meetodite puhul loodan, et avad lõime, et sellega tegeleda, näiteks: socket või httplistener jne. (andmemaht on väike ja sa ei näe seda, kui andmemaht on suur, haha, siis see sureb otse)




Eelmine:C# genereerib e-posti aadresse hulgi
Järgmine:Pilveülekande mängijate analüüs, Thunderbolti ja QQ pöörisliidese analüüs
Postitatud 22.09.2016 09:23:17 |
Keegi postitas väga hästi, tugi
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com