Sincrono vs Asincrono
Sincrona e asincrona sono due grandi parole che sembrano intimidatorie ma piuttosto semplici. Sincrona significa semplicemente che tutti gli eventi si verificano in un determinato ordine temporale che può essere previsto. Un certo evento ne seguirà sempre un altro e non potranno essere scambiati. Asincrono è l'opposto di sincrono. Nei processi asincroni, non esiste un ordine temporale. Alcuni eventi possono, e spesso lo fanno, interscambiare. Un eccellente esempio sincrono è la musica. Ogni strumento partecipante deve essere in sintonia con gli altri, altrimenti la musica non suonerà corretta. Per asincrono, un buon esempio sarebbe il traffico. I veicoli si muovono a velocità diverse ed è normale che uno si muova dopo l'altro.
Nella maggior parte delle applicazioni, l'operazione sincrona è essenziale poiché avere un'operazione asincrona significherebbe letteralmente il caos. Esempi di questo sono ferrovie e aeroporti. In questi scenari, è importante sapere quale veicolo va per primo per evitare collisioni. L'ordine delle cose è attentamente pianificato per facilitare un flusso regolare e le modifiche al piano sono poche e distanti tra loro.
Sebbene l'operazione sincrona sia spesso preferita, ci sono alcuni casi in cui non è necessaria. Ci sono persino casi in cui l'operazione sincrona può essere dannosa per l'obiettivo. Un esempio in cui l'operazione sincrona non è realmente necessaria è la navigazione in Internet. Prima di AJAX (Javascript asincrono e XML) la maggior parte delle pagine Web deve essere ricaricata nella sua interezza per modificare le informazioni su una piccola sezione. Con AJAX, è ora possibile aggiornare quella determinata sezione lasciando intatto il resto della pagina. Ciò è utile poiché è necessario trasmettere una quantità minore di dati e l'utente non deve sopportare l'aggiornamento dell'intera pagina. AJAX è asincrono perché gli aggiornamenti delle pagine non sono più sincronizzati.
Nelle operazioni con i computer, I / O è un'area in cui l'operazione sincrona diventa dannosa. L'operazione sincrona a questo proposito significa che il processore deve attendere la scrittura o la lettura dei dati prima che possa continuare. Il problema è che i dispositivi I / O come i dischi rigidi e in particolare le unità floppy, che hanno parti meccaniche, sono molto lenti. Se il processore ha bisogno di aspettare che l'unità finisca, perderebbe molto tempo. L'operazione asincrona consente al processore di fare altre cose mentre attende che la lettura / scrittura finisca e continua solo una volta che l'operazione è riuscita.
Sommario:
Sincrono significa in ordine temporale mentre Asincrono significa nessun ordine temporale
Il sincrono è preferito rispetto all'asincrono in molte applicazioni del mondo reale
La sincronia può peggiorare in determinati scenari rispetto all'asincrona