Sinhrono vs asinkrono
Sinkrono i asinkrono dvije su velike riječi koje djeluju zastrašujuće, ali su vrlo jednostavne. Sinhrono jednostavno znači da se svi događaji odvijaju u određenom vremenskom redoslijedu koji se može predvidjeti. Neki bi događaji uvijek slijedili neki drugi i oni se ne mogu zamijeniti. Asinkrono je suprotno od sinkronog. U asinhronim procesima ne postoji vremenski poredak. Određeni događaji mogu se često mijenjati. Odličan sinkroni primjer je glazba. Svaki instrument koji sudjeluje mora biti u ritmu s ostalima, inače glazba neće zvučati ispravno. Za asinkroni bi dobar primjer bio promet. Vozila se kreću različitim brzinama, a uobičajeno je da se jedno prijeđe za drugim.
U većini aplikacija sinhroni rad je nužan jer bi asinhroni rad doslovno značio kaos. Primjeri za to su željeznice i zračne luke. U tim je scenarijima važno znati koje vozilo prvo ide kako bi se izbjegli sudari. Redoslijed stvari pažljivo je planiran kako bi se omogućio nesmetan tijek, a promjene plana vrlo su malo i između su.
Iako se sinkronizacija često preferira, postoje određeni slučajevi u kojima to nije potrebno. Postoje čak i slučajevi kad sinkronizacija može biti štetna za cilj. Primjer u kojem sinkroni rad zapravo nije potreban je u pregledavanju interneta. Prije AJAX (Asinhroni Javascript i XML) većinu web stranica potrebno je ponovno učitati da bi se promijenio podatak na malom odjeljku. S AJAX-om je sada moguće ažurirati određeni odjeljak, a ostatak stranice ostat ćete netaknuti. To je korisno jer treba prenijeti manju količinu podataka i korisnik ne mora izdržati kroz osvježavanje cijele stranice. AJAX je asinkrono jer ažuriranja stranica više nisu sinkronizirana.
U računalnim operacijama I / O je područje u kojem sinkroni rad postaje štetan. Sinkroni rad u tom pogledu znači da procesor treba pričekati da se podaci napišu ili pročitaju prije nego što mogu nastaviti. Problem je što su I / O uređaji poput tvrdih diskova, a posebno disketa, koji imaju mehaničke dijelove, vrlo spori. Ako procesor treba pričekati da se pogon završi, trajalo bi puno vremena. Asinhroni rad omogućuje procesoru da radi druge stvari dok čeka da se čitanje / pisanje završi i nastavi samo kad je operacija uspjela..
Sažetak:
Sinkrono znači vremenski poredak, dok Asinkroni znači vremenski poredak
U mnogim se stvarnim aplikacijama sinkronizirano preferira nad asinhronim
Sinkrono može u određenim scenarijima biti lošije nego asinhrono