Sünkroonne vs asünkroonne
Sünkroonne ja asünkroonne on kaks suurt sõna, mis tunduvad hirmutavad, kuid on üsna lihtsad. Sünkroonne tähendab lihtsalt seda, et kõik sündmused toimuvad kindlas ajajärjestuses, mida saab ennustada. Teatud sündmus järgneb alati teisele ja neid ei saa omavahel vahetada. Asünkroonne on sünkroonse vastand. Asünkroonsetes protsessides pole ajajärjestust. Teatud sündmused võivad omavahel vahetuda ja sageli juhtub. Suurepärane sünkroonne näide on muusika. Iga osalev instrument peab olema teistega rütmis, vastasel juhul ei kõla muusika õigesti. Asünkroonse jaoks oleks heaks näiteks liiklus. Sõidukid liiguvad erineva kiirusega ja on tavaline, et üks liigub teisest mööda.
Enamikus rakendustes on sünkroonne töö hädavajalik, kuna asünkroonse toimimise korral tähendaks see sõna otseses mõttes kaost. Selle näideteks on raudteed ja lennujaamad. Nendes stsenaariumides on oluline teada, milline sõiduk sõidab esimesena, et vältida kokkupõrkeid. Asjade järjekord on hoolikalt planeeritud, et hõlbustada sujuvat voolavust ning plaani muudatusi on vähe ja vahepeal.
Kuigi sageli eelistatakse sünkroonset toimimist, on teatud juhtudel seda vaja. On isegi juhtumeid, kus sünkroonne toimimine võib eesmärki kahjustada. Näide, kus sünkroonne toimimine pole tegelikult vajalik, on Interneti-sirvimine. Enne AJAX-i (asünkroonne Javascript ja XML) tuleb enamus veebilehti tervikuna uuesti laadida, et muuta väikese jaotise teavet. AJAX-iga on nüüd võimalik seda teatud jaotist värskendada, jättes ülejäänud lehe puutumata. See on kasulik, kuna edastada tuleb väiksemat andmemahtu ja kasutaja ei pea kogu lehe värskendamise all kannatama. AJAX on asünkroonne, kuna lehe värskendusi enam ei sünkroonita.
Arvutitoimingute puhul on I / O valdkond, kus sünkroonne töö muutub kahjulikuks. Sellega seoses tähendab sünkroonne toimimine, et protsessor peab enne andmete jätkamist ootama andmete kirjutamist või lugemist. Probleem on selles, et I / O-seadmed, näiteks kõvakettad ja eriti disketid, millel on mehaanilised osad, on väga aeglased. Kui protsessor peab draivi valmimist ootama, kulutaks see palju aega. Asünkroonne toiming võimaldab protsessoril lugemise / kirjutamise lõppemist oodates teha muid toiminguid ja jätkata alles siis, kui toiming on õnnestunud.
Kokkuvõte:
Sünkroonne tähendab ajajärjestust, samal ajal kui asünkroonne tähendab ajajärjestuse puudumist
Paljudes pärismaailma rakendustes eelistatakse sünkroonset asünkroonse asemel
Sünkroonne võib teatud stsenaariumides toimida halvemini kui asünkroonne