Synkron vs Asynkron
Synkron og asynkron er to store ord som virker skremmende, men er ganske enkle. Synkron betyr ganske enkelt at alle hendelser forekommer i en bestemt tidsrekkefølge som kan forutsies. En viss begivenhet vil alltid følge en annen og de kan ikke byttes ut. Asynkron er motsatt av synkron. I asynkrone prosesser er det ingen tidsbestilling. Enkelte hendelser kan, og ofte gjør, utveksling. Et utmerket synkront eksempel er musikk. Hvert deltagende instrument trenger å være i rytme med de andre, ellers vil musikken ikke høres riktig. For asynkron ville et godt eksempel være trafikk. Kjøretøyer beveger seg med forskjellige hastigheter, og det er vanlig at man beveger seg forbi en annen.
I de fleste applikasjoner er synkron operasjon viktig fordi å ha en asynkron operasjon ville bokstavelig talt bety kaos. Eksempler på dette er jernbaner og flyplasser. I disse scenariene er det viktig å vite hvilket kjøretøy som går først for å unngå kollisjoner. Ordren av tingene er nøye planlagt for å lette en jevn flyt og endringer i planen er få og langt imellom.
Selv om synkron operasjon ofte foretrekkes, er det visse tilfeller hvor det ikke er nødvendig. Det er til og med tilfeller hvor synkron operasjon kan være skadelig for målet. Et eksempel der synkron drift ikke er nødvendig, er i nettlesing. Før AJAX (asynkron Javascript og XML) må de fleste nettsider lastes om i sin helhet for å endre informasjonen på en liten del. Med AJAX er det nå mulig å oppdatere den enkelte delen mens du forlater resten av siden uberørt. Dette er gunstig fordi en mindre mengde data må overføres og brukeren ikke trenger å tåle gjennom hele siden forfriskende. AJAX er asynkron fordi sideoppdateringer ikke lenger synkroniseres.
I datoperasjoner er I / O et område der synkron drift blir skadelig. Synkron drift i denne forbindelse betyr at prosessoren må vente på at dataene skal skrives eller leses før det kan fortsette. Problemet er at I / O-enheter som harddisker og spesielt diskettstasjoner, som har mekaniske deler, er svært sakte. Hvis prosessoren må vente på at stasjonen skal fullføres, vil det kaste bort mye tid. Asynkron operasjon gjør at prosessoren kan gjøre andre ting mens han venter på lese / skrive til slutt og bare fortsette når operasjonen har lyktes.
Sammendrag:
Synkron betyr i tidsbestilling mens asynkron betyr ingen tidsbestilling
Synkron er foretrukket over asynkron i mange virkelige applikasjoner
Synkron kan virke verre i visse scenarier enn asynkron