Sinhroni vs asinhroni
Sinhroni un asinhroni ir divi lieli vārdi, kas šķiet iebiedējoši, bet ir diezgan vienkārši. Sinhronā nozīmē tikai to, ka visi notikumi notiek noteiktā laika secībā, ko var paredzēt. Noteikts notikums vienmēr sekos citam, un tos nevar mainīt. Asinhronā ir pretēja sinhronai. Asinhronos procesos nav laika secības. Daži notikumi var, un bieži vien notiek, savstarpēja apmaiņa. Lielisks sinhrons piemērs ir mūzika. Katram instrumentam, kas piedalās, jāatrodas ritmā ar citiem, pretējā gadījumā mūzika neizklausīsies pareizi. Asinhronam labs piemērs būtu satiksme. Transportlīdzekļi pārvietojas ar atšķirīgu ātruma ātrumu, un parasti ir tā, ka viens pārvietojas garām otram.
Lielākajā daļā lietojumprogrammu sinhronā darbība ir būtiska, jo asinhronā darbība burtiski nozīmētu haosu. To piemēri ir dzelzceļi un lidostas. Šajos scenārijos ir svarīgi zināt, kurš transportlīdzeklis brauc vispirms, lai izvairītos no sadursmēm. Lai atvieglotu vienmērīgu plūsmu, lietu kārtība ir rūpīgi plānota, un plāna izmaiņas ir maz un tālu starp tām.
Lai gan bieži tiek dota priekšroka sinhronai darbībai, dažos gadījumos tā nav nepieciešama. Ir pat gadījumi, kad sinhrona darbība var kaitēt mērķa sasniegšanai. Piemērs, kurā sinhronā darbība nav īsti nepieciešama, ir interneta pārlūkošana. Pirms AJAX (asinhronais Javascript un XML) vairums tīmekļa lapu ir jāpārlādē pilnībā, lai mainītu informāciju nelielā sadaļā. Izmantojot AJAX, tagad ir iespējams atjaunināt šo noteikto sadaļu, atstājot neskartu pārējo lapu. Tas ir izdevīgi, jo ir jānosūta mazāks datu apjoms, un lietotājam nav jāpārdzīvo visas lapas atsvaidzināšana. AJAX ir asinhrona, jo lapu atjauninājumi vairs netiek sinhronizēti.
Datorizētās operācijās I / O ir joma, kurā sinhronā darbība kļūst kaitīga. Sinhronā darbība šajā sakarā nozīmē, ka procesoram jāgaida datu rakstīšana vai nolasīšana, pirms tos var turpināt. Problēma ir tāda, ka tādas I / O ierīces kā cietie diski un it īpaši disketes, kurām ir mehāniskas daļas, darbojas ļoti lēni. Ja procesoram jāgaida diska pabeigšana, tas tērēs daudz laika. Asinhronā darbība ļauj procesoram veikt citas darbības, gaidot lasīšanas / rakstīšanas pabeigšanu un turpināt to tikai tad, kad darbība ir izdevusies.
Kopsavilkums:
Sinhronie līdzekļi laika secībā, savukārt asinhronie - laika secība nav
Daudzās reālās pasaules programmās priekšroka tiek dota sinhronajai, nevis asinhronajai
Sinhronie dažos scenārijos var darboties sliktāk nekā asinhroni