Maison  >  Article  >  Java  >  Quelle est la différence entre synchrone et asynchrone en Java ?

Quelle est la différence entre synchrone et asynchrone en Java ?

青灯夜游
青灯夜游original
2019-12-26 16:57:086286parcourir

Quelle est la différence entre synchrone et asynchrone en Java ?

Concept :

Synchronisation : Toutes les opérations sont terminées avant d'être restituées à l'utilisateur. De cette façon, l'utilisateur attend trop longtemps en ligne, ce qui lui donne un sentiment de blocage (c'est-à-dire que lorsque le système est en cours de migration, si vous cliquez sur Migrer, l'interface ne bougera pas, mais le programme est toujours en cours d'exécution, donnant à l'utilisateur un sentiment coincé). Dans ce cas, l'utilisateur ne peut pas fermer l'interface. Si celle-ci est fermée, le processus de migration sera interrompu.

2. Asynchrone : placez la demande de l'utilisateur dans la file d'attente des messages et renvoyez-la à l'utilisateur. Le programme de migration du système a été démarré et vous pouvez fermer le navigateur. Ensuite, le programme écrit lentement dans la base de données. C'est asynchrone. Mais l’utilisateur ne se sent pas bloqué et vous dira que le système a répondu à votre demande. Vous pouvez fermer l'interface.

[Apprentissage recommandé : Tutoriel vidéo Java]

La synchronisation signifie que toutes les opérations sont terminées avant que les résultats ne soient renvoyés à l'utilisateur, c'est-à-dire après l'écriture de la base de données ; dans l'utilisateur correspondant, l'expérience utilisateur n'est pas bonne.

Asynchrone, il n'est pas nécessaire d'attendre que toutes les opérations soient terminées avant de répondre aux demandes des utilisateurs ; c'est-à-dire répondre d'abord aux demandes des utilisateurs, puis écrire lentement dans la base de données, ce qui offre une meilleure expérience utilisateur.

Exemples d'opérations synchrones et asynchrones :

1 Synchronisation :

Par exemple, les systèmes de virement bancaire, les opérations de sauvegarde de base de données, etc. synchronisation Opérations interactives.

2. Asynchrone :

Afin d'éviter un grand nombre d'opérations de base de données sur une courte période de temps, un mécanisme de mise en cache, c'est-à-dire une file d'attente de messages, est utilisé. Mettez d'abord les données dans la file d'attente des messages, puis écrivez-les lentement dans la base de données.

L'introduction du mécanisme de file d'attente de messages, bien qu'il puisse garantir une réponse rapide aux demandes des utilisateurs, ne réduit pas le temps de migration de mes données (c'est-à-dire qu'il faut 1 heure pour écrire 800 000 éléments de données sur MySQL. Après avoir utilisé Redis, Cela prend encore 1 heure, juste pour garantir une réponse rapide à la demande de l'utilisateur. Une fois que l'utilisateur a terminé la demande d'URL http, il peut fermer le navigateur et faire d'autres choses. Si Redis n'est pas utilisé, le navigateur ne peut pas être fermé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn