Synkroninen ja asynkroninen
Synkroninen vs asynkroninen
Synkroninen ja asynkroninen ovat kaksi suurta sanaa, jotka näyttävät pelottavalta, mutta ovat melko yksinkertaisia. Synkroninen tarkoittaa yksinkertaisesti, että kaikki tapahtumat tapahtuvat tietyssä aikataulussa, joka voidaan ennustaa. Tietty tapahtuma aina seuraisi toista ja niitä ei voi vaihtaa keskenään. Asynkroninen on synkroninen vastakohta. Asynkronisissa prosesseissa ei ole aikajärjestystä. Jotkut tapahtumat voivat ja usein tekevät vaihdon. Erinomainen synkroninen esimerkki on musiikki. Jokainen osallistuva instrumentti on rytmissä muiden kanssa tai muuten musiikki ei kuulosta oikealta. Asynkroninen hyvä esimerkki olisi liikenne. Ajoneuvot liikkuvat eri nopeuksilla ja on tavallista siirtää toiseen.
Useimmissa sovelluksissa synkroninen toiminta on välttämätöntä, koska asynkroninen toiminta merkitsisi kirjaimellisesti kaaosta. Esimerkkejä tästä ovat rautatiet ja lentokentät. Näissä skenaarioissa on tärkeää tietää, mikä ajoneuvo ensin menee törmäysten välttämiseksi. Asioiden järjestys on suunniteltu huolellisesti sujuvan virtauksen helpottamiseksi ja suunnitelman muutokset ovat vähäisiä ja kaukana toisistaan.
Vaikka synkronointi on usein suositeltavaa, on olemassa tiettyjä tapauksia, joissa sitä ei tarvita. On jopa tapauksia, joissa synkroninen toiminta voi vahingoittaa tavoitetta. Esimerkki, jossa synkroninen toiminta ei ole todella välttämätöntä, on Internet-selailussa. Ennen AJAX (Asynchronous Javascript ja XML) useimmat verkkosivut on ladattava kokonaisuudessaan vaihtaakseen tietoja pienen osan kohdalta. AJAX: n avulla on mahdollista päivittää tietyn osan poistuen muusta sivusta koskemattomana. Tämä on hyödyllistä, koska pienempi määrä tietoja lähetetään ja käyttäjän ei tarvitse kestää koko sivun päivitys. AJAX on asynkroninen, koska sivujen päivitykset eivät enää ole synkronoituja.
Tietokonetoiminnoissa I / O on alue, jossa synkroninen toiminta vahingoittaa. Synkroninen toiminta tässä suhteessa tarkoittaa, että prosessorin on odotettava, että tiedot kirjoitetaan tai luetaan ennen kuin ne voivat jatkaa. Ongelma on, että I / O-laitteet kuten kiintolevyt ja erityisesti levykkeet, joilla on mekaanisia osia, ovat hyvin hitaita. Jos prosessorin on odotettava, että asema loppuu, se vie paljon aikaa. Asynkroninen toiminta mahdollistaa prosessorin tekemään muita asioita odotettaessa lukemista / kirjoittamista loppuun ja jatkaa sen jälkeen, kun toiminta on onnistunut.
Yhteenveto: Synkroniset välineet aikajärjestyksessä, kun taas asynkroniset tarkoittavat aikajärjestystä Synkroninen on parempi kuin asynkroninen monissa todellisissa sovelluksissa Synkroninen voi toimia huonommassa määrin kuin asynkronisissa skenaarioissa