Asynkron kommunikation

Från Wikipedia
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 inte behöver svara på meddelandet direkt. Ringer man däremot måste mottagaren svara för att inleda en 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 förväntar sig inte att mottagaren svarar direkt. Det tillämpas dagligen i UDP-protokollet som är ett asynkront nätverksprotokoll där paket i nätverket kan skickas i snabb följd utan att vänta på att mottagaren svarar.

Problem[redigera | redigera wikitext]

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

En nackdel med synkron kommunikation är risken för något som kallas dödläge.