Kursinnhold
Introduction to .NET With C#
Introduction to .NET With C#
Hva er asynkron programmering?
Så langt har koden vi har skrevet vært utelukkende synkron, noe som betyr at hver oppgave ble utført én etter én, og nesten aldri kjørte flere oppgaver samtidig.
Hvis vi har kode som følgende:
Hver metode vil bli utført etter hverandre. Så task2
vil ikke starte før task1
er ferdig. På samme måte vil ikke task3
starte før task2
er ferdig.
Dette er akseptabelt i enkle programmer, men når vi lager større applikasjoner, må vi sørge for at én oppgave ikke blokkerer utførelsen av en annen.
For eksempel, i nettlesere kan én fane spille musikk, mens brukeren i en annen fane kan bla gjennom sosiale medier. Denne typen multitasking er mulig gjennom asynkron programmering.
Asynkron programmering er en programmeringsmetode som lar oss lage programmer som kan utføre flere oppgaver samtidig. Dette bidrar til å gjøre applikasjonene mer effektive og responsive ved å utføre flere oppgaver parallelt.
C# gir oss noen nyttige verktøy for asynkron programmering. Vi skal se på hvordan vi bruker dem i neste kapittel.
Fordeler med asynkron programmering:
Ved å utføre tidkrevende oppgaver parallelt, kan vi effektivt forhindre at hovedprogrammet blir blokkert. Denne parallelle tilnærmingen sikrer at applikasjonen forblir responsiv, selv når den håndterer ressurs- eller tidkrevende oppgaver;
Økt responsivitet og raskere utførelse gir en jevnere brukeropplevelse;
I stedet for å utføre alle operasjoner i én enkelt kø, utfører applikasjonen dem parallelt. På denne måten får den mulighet til å håndtere et større antall samtidige operasjoner, noe som gjør den mer skalerbar. For eksempel kan du ha en applikasjon hvor mange klienter (brukere) må betjenes samtidig.
Ulemper med asynkron programmering:
Ved å bruke asynkron programmering i koden din, kan du potensielt øke kompleksiteten, noe som gjør det vanskeligere å vedlikeholde og feilsøke;
Hvis du gjør én del av koden asynkron, har resten av koden ofte en tendens til å måtte bli asynkron også.
Takk for tilbakemeldingene dine!