Maison  >  Article  >  Java  >  La différence entre synchrone et asynchrone en Java

La différence entre synchrone et asynchrone en Java

(*-*)浩
(*-*)浩original
2019-12-03 14:24:173801parcourir

La différence entre synchrone et asynchrone en Java

Synchronisation : Une fois toutes les opérations terminées, il est restitué à 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. S'il est fermé, le processus de migration sera interrompu. (Apprentissage recommandé : cours Java)

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é. . Vous pouvez fermer l'appareil de navigation. 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.

Le programme traite les données et le thread B modifie les mathématiques traitées par le thread A.

Cela est évidemment dû aux ressources globales. Parfois, pour résoudre ce problème, la priorité est donnée à l'utilisation de variables locales et, en second lieu, à l'utilisation de blocs de code synchronisés. Pour de telles considérations de sécurité, le traitement du système doit être sacrifié. Performances, le mécanisme de synchronisation des threads est implémenté là où la concurrence entre les ressources est la plus intense lorsque plusieurs threads sont simultanés.

Synchronisation : le thread A veut demander une ressource, mais cette ressource est utilisée par le thread B. Parce que le mécanisme de synchronisation existe, le thread A ne peut pas arriver. Que dois-je faire ?

Asynchrone : le thread A veut demander une ressource, mais cette ressource est utilisée par le thread B. Comme il n'y a pas de mécanisme de synchronisation, le thread A peut toujours la demander et le thread A n'a pas besoin d'attendre

3. Résumé :

(1) La synchronisation est sûre, mais en raison de l'existence d'un mécanisme de synchronisation, les performances seront relativement médiocres

(2) L'asynchronie est dangereux et peut facilement conduire à un blocage, la mort d'un tel thread peut provoquer le crash de l'ensemble du processus ; mais comme il n'y a pas de mécanisme de synchronisation, les multithreads s'exécutent de manière asynchrone et les performances seront améliorées.

4. Un mécanisme de synchronisation est requis lorsque les exigences suivantes sont remplies en même temps :

(1) Multithreading

(2 ) Il y a un conflit pour les données partagées

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