Asünkroonse meetodi kõne

Autor: Lewis Jackson
Loomise Kuupäev: 8 Mai 2021
Värskenduse Kuupäev: 25 Juunis 2024
Anonim
Asünkroonse meetodi kõne - Tehnoloogia
Asünkroonse meetodi kõne - Tehnoloogia

Sisu

Definitsioon - mida tähendab asünkroonse meetodi kõne?

Asünkroonne meetodikõne on .NET-programmeerimises kasutatav meetod, mis naaseb helistajale vahetult enne selle töötlemise lõpuleviimist ja helistamiskeelt blokeerimata.

Kui rakendus kutsub asünkroonset meetodit, saab seda samaaegselt täita ka selle ülesannet täitva asünkroonse meetodi täitmisega. Asünkroonne meetod töötab keermes, mis on põhirakenduse lõimest eraldi. Töötlemise tulemused tuuakse teise lõime teise kõne kaudu.

Asünkroonsed meetodid aitavad ressursside täitmist optimeerida, mille tulemuseks on skaleeritav rakendus. Neid kasutatakse aeganõudevate ülesannete täitmiseks, nagu suurte failide avamine, kaugarvutitega ühenduse loomine, andmebaasidest päringute tegemine, veebiteenuste ja ASP.NET-i veebivormide helistamine.

Asünkroonse meetodi kutset võib nimetada ka asünkroonse meetodi kutsumiseks (AMI).


Sissejuhatus Microsoft Azure'i ja Microsoft Cloud | Kogu selle juhendi kaudu saate teada, mis on pilvandmetöötlus ja kuidas Microsoft Azure aitab teil pilvest rännata ja oma ettevõtet juhtida.

Techopedia selgitab asünkroonse meetodi kutset

Asünkroonne meetod erineb sünkroonilisest meetodist selle poolest, kuidas see kõnest naaseb. Kui asünkroonne meetodikõne naaseb kohe, lubades helistavatel programmidel teha muid toiminguid, ootavad sünkroonsed meetodikõned meetodi lõpulejõudmist enne programmiga jätkamist.

.NET-raamistik on sisse ehitanud asünkroonse infrastruktuuri, nii et ükskõik millist meetodit saab asünkroonselt käivitada ilma selle koodi muutmata.

.NET-raamistik pakub asünkroonse meetodi rakendamiseks kahte kujundusmustrit, milleks kasutatakse asünkroonseid delegaate (IASyncResult objektid) ja sündmusi. Asünkroonsete delegaatide muster on keerulisem ja pakub paindlikkust, mis muudab selle hästi sobivaks erinevate keerukate programmeerimismudelitega. Sündmuspõhine mudel on lihtne ja seda tuleks enamikul juhtudel kasutada.

Asünkroonsete delegaatide mustris kasutab delegeeritud objekt kahte meetodit: BeginInvoke ja EndInvoke. BeginInvoke sisaldab parameetrite loendit, mis sarnanevad selle pakitud funktsiooniga, koos kahe täiendava valikulise parameetriga; see tagastab objekti IAsyncResult. EndInvoke tagastab koos IAsyncResult objektiga kaks parameetrit (väljund ja ref tüüp). Asünkroonse kõne algatamiseks kasutatakse BeginInvoke, asünkroonse kõne tulemuste saamiseks EndInvoke.

Sündmustel põhinevad asünkroonsed mustrid kasutavad klassi, millel on üks või mitu meetodit nimega MethodNameAsync, millel on vastavad sünkroonsed versioonid, mis käivad praegusel lõimel. Sündmustel põhinevatel mustritel võib olla ka MethodNameCompleted sündmus ja MethodNameAsyncCancel meetod. See muster võimaldab klassil suhelda ootel olevate asünkroonsete toimingutega, kasutades delegaadi sündmuse mudelit.

Järgnevalt on toodud mõned asünkroonsete meetoditega seotud näpunäited:


  • Suure samaaegsuse saavutamiseks tuleb vältida asünkroonseid meetodeid
  • Jagatud objektide viidete edastamisel tuleb olla ettevaatlik
  • EndXXX (mida nimetatakse asünkroonse toimingu lõpus) ​​tuleb kutsuda erandite uuesti esilekutsumiseks ja tõrke vältimiseks
  • Kõigi erandobjektide püüdmise ja salvestamisega asünkroonsel meetodil saab selle EndXXX-kõne ajal uuesti visata
  • Juhtnupud kasutajaliideses, mis algatavad pikaajalisi asünkroonseid toiminguid, tuleb keelata, kui need on vajalikud ainult selleks
  • Asünkroonseid meetodeid tuleb rakendada koos arusaamisega mitmekeermelisusest ja sellest, kus need osutuvad tõhusamaks kui sünkroonsete meetodite kasutamine.