Synchrónne vs asynchrónne
Synchrónne a asynchrónne sú dve veľké slová, ktoré sa zdajú zastrašujúce, ale sú dosť jednoduché. Synchrónne znamená, že všetky udalosti sa vyskytujú v určitom časovom poradí, ktoré je možné predvídať. Určitá udalosť by vždy nasledovala ďalšiu a nie je možné ich zamieňať. Asynchrónny je opak synchrónnych. V asynchrónnych procesoch neexistuje časové usporiadanie. Niektoré udalosti sa môžu a často vymieňajú. Vynikajúcim synchrónnym príkladom je hudba. Každý zúčastnený nástroj musí byť v rytme s ostatnými, inak nebude hudba znieť správne. Pre asynchrónny príklad by bola premávka. Vozidlá sa pohybujú rôznymi rýchlosťami a je bežné, že sa jeden pohybuje za druhým.
Vo väčšine aplikácií je synchrónna prevádzka nevyhnutná, pretože asynchrónna prevádzka by doslova znamenala chaos. Príkladom sú železnice a letiská. V týchto scenároch je dôležité vedieť, ktoré vozidlo ide ako prvé, aby sa predišlo kolíziám. Poradie vecí je starostlivo naplánované, aby sa uľahčil plynulý tok a zmeny v pláne sú medzi nimi veľmi vzdialené.
Aj keď sa často uprednostňuje synchrónna prevádzka, v niektorých prípadoch to nie je potrebné. Existujú dokonca prípady, keď môže synchrónna prevádzka poškodiť cieľ. Príkladom, kde nie je synchrónna prevádzka skutočne potrebná, je prehľadávanie internetu. Pred AJAX (asynchrónny Javascript a XML) sa musí väčšina webových stránok znova načítať v plnom rozsahu, aby sa zmenili informácie v malej časti. S AJAX je teraz možné aktualizovať túto časť, zatiaľ čo zvyšok stránky zostane nedotknutý. To je výhodné, pretože sa musí prenášať menšie množstvo údajov a užívateľ nemusí vydržať obnovovaním celej stránky. AJAX je asynchrónny, pretože aktualizácie stránok sa už nesynchronizujú.
V počítačových operáciách je V / V oblasť, v ktorej je synchrónna prevádzka škodlivá. Synchrónna operácia v tomto ohľade znamená, že procesor musí čakať, kým sa dáta zapíšu alebo prečítajú, aby mohol pokračovať. Problém je, že I / O zariadenia, ako sú pevné disky a najmä diskety, ktoré majú mechanické časti, sú veľmi pomalé. Ak procesor potrebuje čakať na dokončenie jednotky, stratilo by to veľa času. Asynchrónna operácia umožňuje procesoru robiť ďalšie veci pri čakaní na dokončenie čítania / zápisu a pokračovať, len čo je operácia úspešná..
Zhrnutie:
Synchrónne znamená časové poradie, zatiaľ čo asynchrónne znamená žiadne časové poradie
V mnohých aplikáciách v reálnom svete je synchrónny radšej ako asynchrónny
Synchrónne môže v určitých scenároch fungovať horšie ako asynchrónne