Synkron mot Asynkron
Synkron och asynkron är två stora ord som verkar skrämmande men är ganska enkla. Synkron betyder helt enkelt att alla händelser förekommer i en viss tidsordning som kan förutsägas. En viss händelse skulle alltid följa en annan och de kan inte bytas ut. Asynkron är motsatsen till synkron. I asynkrona processer finns ingen tidsbeställning. Vissa händelser kan, och ofta gör, utbyte. Ett utmärkt synkroniskt exempel är musik. Varje deltagande instrument måste vara i rytm med de andra, annars kommer inte musiken att låta rätt. För asynkrona skulle ett bra exempel vara trafik. Fordon rör sig i olika hastigheter och det är vanligt att man flyttar förbi en annan.
I de flesta tillämpningar är synkron drift avgörande eftersom det skulle vara en asynkron operation som skulle innebära kaos. Exempel på detta är järnvägar och flygplatser. I dessa scenarier är det viktigt att veta vilket fordon som går först för att undvika kollisioner. Orderordningen är noggrant planerad för att underlätta ett jämnt flöde och förändringar i planen är få och långt däremellan.
Även om synkrona operationer ofta föredras finns det vissa fall där det inte behövs. Det finns även fall där synkron drift kan skada objektivet. Ett exempel där synkron drift inte är verkligen nödvändigt är i webbläsning. Före AJAX (asynkron Javascript och XML) måste de flesta webbsidor laddas om i sin helhet för att ändra informationen på en liten sektion. Med AJAX är det nu möjligt att uppdatera den vissa sektionen samtidigt som resten av sidan är orörd. Detta är fördelaktigt eftersom en mindre mängd data behöver överföras och användaren inte behöver uthärda hela sidan förfriskande. AJAX är asynkron eftersom sidopdateringar inte längre synkroniseras.
I datoroperationer är I / O ett område där synkron drift blir skadlig. Synkron drift i detta avseende innebär att processorn måste vänta på att data ska skrivas eller läsas innan den kan fortsätta. Problemet är att I / O-enheter som hårddiskar och speciellt diskettstationer, som har mekaniska delar, är mycket långsamma. Om processorn måste vänta på att enheten ska slutföra, skulle det slösa mycket tid. Asynkron drift gör det möjligt för processorn att göra andra saker medan man väntar på att läsa / skriva för att slutföra och bara fortsätta när operationen har lyckats.
Sammanfattning:
Synkrona medel i tidsordning medan Asynkron betyder ingen tidsorder
Synkrona föredras över asynkron i många verkliga applikationer
Synkron kan fungera sämre i vissa scenarier än asynkron