Asynkron (computerprogrammering) - Asynchrony (computer programming)
Asynkroni , i computerprogrammering , refererer til forekomsten af begivenheder uafhængigt af hovedprogrammets flow og måder at håndtere sådanne hændelser på. Disse kan være "udenfor" hændelser såsom ankomsten af signaler eller handlinger, der igangsættes af et program, der finder sted samtidigt med programkørsel, uden at programmet blokerer for at vente på resultater. Asynkron input/output er et eksempel på sidstnævnte tilfælde af asynkronisering og lader programmer udstede kommandoer til lagrings- eller netværksenheder, der servicerer disse anmodninger, mens processoren fortsætter med at udføre programmet. Det giver en vis grad af parallelitet .
En almindelig måde at håndtere asynkron i et programmeringsinterface er at tilvejebringe underrutiner, der returnerer en fremtid eller et løfte, der repræsenterer den igangværende operation, og en synkroniseringsoperation, der blokerer, indtil fremtiden eller løftet er gennemført. Nogle programmeringssprog, f.eks. Cilk , har en særlig syntaks til at udtrykke et asynkront procedureopkald.
Eksempler på asynkronisering omfatter følgende:
- Asynkron procedureopkald , en metode til at køre en procedure samtidigt, et let alternativ til tråde .
- Ajax er et sæt web-teknologier på klientsiden, der bruges til at oprette asynkrone I/O- webapplikationer .
- Asynkron metodeforsendelse (AMD), en datakommunikationsmetode, der bruges, når der er behov for serversiden til at håndtere et stort antal langvarige klientforespørgsler. Ved hjælp af synkron metodeforsendelse (SMD) kan dette scenario gøre serveren til en utilgængelig optagetilstand, hvilket kan resultere i et forbindelsesfejlsvar forårsaget af en timeout for anmodning om netværksforbindelse . Betjeningen af en klientanmodning sendes straks til en tilgængelig tråd fra en pulje af tråde, og klienten sættes i en blokeringstilstand. Når opgaven er afsluttet, får serveren besked ved et tilbagekald. Serveren blokerer for klienten og sender svaret tilbage til klienten. I tilfælde af trådsultning blokeres klienterne og venter på, at tråde bliver tilgængelige.