Síncrono vs Assíncrono
Síncrono e assíncrono são duas grandes palavras que parecem intimidadoras, mas são bastante simples. Síncrono significa simplesmente que todos os eventos estão ocorrendo em um determinado período de tempo que pode ser previsto. Um determinado evento sempre segue outro e eles não podem ser trocados. Assíncrono é o oposto de síncrono. Em processos assíncronos, não há ordem de tempo. Certos eventos podem, e costumam fazer, se trocar. Um excelente exemplo síncrono é a música. Cada instrumento participante precisa estar em ritmo com os outros, caso contrário a música não soará correta. Para assíncrono, um bom exemplo seria tráfego. Os veículos se movem a velocidades diferentes e é comum que um passe além do outro.
Na maioria dos aplicativos, a operação síncrona é essencial, pois ter uma operação assíncrona significaria literalmente caos. Exemplos disso são ferrovias e aeroportos. Nesses cenários, é importante saber qual veículo vai primeiro para evitar colisões. A ordem das coisas é cuidadosamente planejada para facilitar um fluxo suave e as mudanças no plano são poucas e distantes entre si..
Embora a operação síncrona seja frequentemente preferida, há certos casos em que ela não é necessária. Existem até casos em que a operação síncrona pode ser prejudicial ao objetivo. Um exemplo em que a operação síncrona não é realmente necessária é na navegação na Internet. Antes do AJAX (Javascript assíncrono e XML), a maioria das páginas da Web precisava ser recarregada na íntegra para alterar as informações em uma pequena seção. Com o AJAX, agora é possível atualizar essa seção, deixando o restante da página intocado. Isso é benéfico, pois uma quantidade menor de dados precisa ser transmitida e o usuário não precisa suportar a atualização da página inteira. O AJAX é assíncrono porque as atualizações da página não são mais sincronizadas.
Nas operações do computador, a E / S é uma área em que a operação síncrona se torna prejudicial. A operação síncrona nesse sentido significa que o processador precisa aguardar a gravação ou a leitura dos dados para poder continuar. O problema é que dispositivos de E / S, como discos rígidos e, principalmente, unidades de disquete, que possuem peças mecânicas, são muito lentos. Se o processador precisar aguardar o término da unidade, estará perdendo muito tempo. A operação assíncrona permite que o processador faça outras coisas enquanto aguarda a leitura / gravação terminar e continue assim que a operação for bem-sucedida.
Resumo:
Síncrono significa ordem no tempo, enquanto Assíncrono significa ordem no tempo
O síncrono é preferido sobre o assíncrono em muitas aplicações do mundo real
Síncrono pode ter desempenho pior em certos cenários que assíncrono