Synchrone vs asynchrone
Synchrone et asynchrone sont deux gros mots qui semblent intimidants mais qui sont assez simples. Synchrone signifie simplement que tous les événements se produisent dans un certain ordre temporel qui peut être prédit. Un certain événement suivrait toujours un autre et ils ne peuvent pas être interchangés. Asynchrone est le contraire de synchrone. Dans les processus asynchrones, il n'y a pas d'ordre temporel. Certains événements peuvent, et font souvent, des échanges. Un excellent exemple de synchrone est la musique. Chaque instrument participant doit être en phase avec les autres, sinon la musique ne sonne pas bien. Pour asynchrone, un bon exemple serait le trafic. Les véhicules se déplacent à des vitesses différentes et il est courant qu'un véhicule dépasse un autre.
Dans la plupart des applications, le fonctionnement synchrone est essentiel car un fonctionnement asynchrone signifierait littéralement le chaos. Les chemins de fer et les aéroports en sont des exemples. Dans ces scénarios, il est important de savoir quel véhicule passe en premier pour éviter les collisions. L'ordre des choses est soigneusement planifié pour faciliter un bon déroulement et les modifications du plan sont rares.
Bien que le fonctionnement synchrone soit souvent préféré, il est parfois inutile. Il y a même des cas où le fonctionnement synchrone peut être préjudiciable à l'objectif. Un exemple où un fonctionnement synchrone n'est pas vraiment nécessaire est la navigation sur Internet. Avant AJAX (Javascript et XML asynchrones), la plupart des pages Web devaient être rechargées dans leur intégralité pour modifier les informations contenues dans une petite section. Avec AJAX, il est maintenant possible de mettre à jour cette section en laissant le reste de la page intact. Ceci est avantageux car une plus petite quantité de données doit être transmise et l'utilisateur n'a pas à subir toute l'actualisation de la page. AJAX est asynchrone car les mises à jour des pages ne sont plus synchronisées.
Dans les opérations informatiques, les E / S sont un domaine dans lequel le fonctionnement synchrone devient préjudiciable. Le fonctionnement synchrone à cet égard signifie que le processeur doit attendre que les données soient écrites ou lues avant de pouvoir continuer. Le problème est que les périphériques d’E / S, tels que les disques durs et en particulier les lecteurs de disquettes, qui comportent des pièces mécaniques, sont très lents. Si le processeur doit attendre que le lecteur soit terminé, cela perdrait beaucoup de temps. Le fonctionnement asynchrone permet au processeur de faire autre chose en attendant la fin de la lecture / écriture et de continuer une fois l'opération terminée..
Résumé:
Synchrone signifie en ordre chronologique tandis qu'Asynchrone signifie en absence d'ordre temporel
Synchrone est préférable à asynchrone dans de nombreuses applications du monde réel
Synchrone peut être pire dans certains scénarios que le mode asynchrone