Asynkron kommunikation

Från Wikipedia
(Omdirigerad från Asynkron)
Hoppa till: navigering, sök

Asynkron kommunikation innebär att ett skeende interagerar med ett annat skeende, men tidsmässigt helt oberoende av det andra skeendet. Motsatsen är synkron, då skeenderna koordinerar med varandra i tiden.

För att enkelt tydliggöra detta kan man jämföra att skicka ett SMS-meddelande med att ringa ett telefonsamtal. Skickar man ett SMS meddelar man sig asynkront, eftersom mottagaren behöver varken få eller agera på meddelandet direkt. Ringer man däremot måste mottagaren svara för att meddelandet ska nå fram, alltså synkron kommunikation.

Inom datatekniken är ofta meddelanden mellan processer i program och elektroniska pulser asynkrona. En process som skickar ett asynkront meddelande till en annan process eller tråd kräver inget svar som indikerar att meddelandet kommit fram. Detta innebär att asynkrona meddelanden kan skickas i snabb följd utan att behöva vänta på att mottagaren har tagit emot dem. Denna taktik tillämpas dagligen i UDP-protokollet som är ett asynkront nätverksprotokoll där paket i nätverket skickas utan att något svar krävs.

Problem[redigera | redigera wikitext]

Asynkrona meddelanden har dock en stor begränsning. Det är att om meddelandet på något vis ej kan levereras så kommer varken sändaren eller mottagaren veta om detta. Sändaren kan då tro att motparten fått meddelandet. Om man har en dålig förbindelse (till exempel i nätverket) så kan många meddelanden förloras, något som mottagaren måste anpassas för.

En nackdel med synkron kommunikation är risken för dödlig låsning...