Maison > Problème commun > Quelle est la différence entre la concurrence et le parallélisme ?

Quelle est la différence entre la concurrence et le parallélisme ?

青灯夜游
Libérer: 2020-07-18 13:15:24
original
15534 Les gens l'ont consulté

Différence : le parallélisme signifie que plusieurs instructions sont exécutées simultanément sur plusieurs processeurs en même temps ; à la fois d'un point de vue micro et macro, les deux sont exécutées ensemble. La concurrence signifie qu'une seule instruction peut être exécutée en même temps, mais que plusieurs instructions de processus sont exécutées en rotation rapide, ce qui a pour effet que plusieurs processus s'exécutent en même temps d'un point de vue macro, mais pas simultanément d'un point de vue micro.

Quelle est la différence entre la concurrence et le parallélisme ?

La concurrence et le parallélisme sont :

  • Explication 1 : Le parallélisme signifie que deux événements ou plus se produisent au même moment. au même moment ; la concurrence signifie que deux événements ou plus se produisent au même intervalle de temps.

  • Explication 2 : le parallélisme correspond à plusieurs événements sur différentes entités, et la concurrence correspond à plusieurs événements sur la même entité.

  • Explication 3 : Le parallélisme est le traitement simultané de plusieurs tâches sur plusieurs processeurs. Par exemple, dans un cluster distribué Hadoop, la simultanéité signifie le traitement de plusieurs tâches « simultanément » sur un seul processeur.

L'objectif de la programmation simultanée est donc d'utiliser pleinement chaque cœur du processeur pour obtenir les performances de traitement les plus élevées.


Parallèle : fait référence à plusieurs instructions exécutées simultanément sur plusieurs processeurs en même temps. Ainsi, que ce soit d’un point de vue micro ou macro, les deux sont exécutés ensemble.

Quelle est la différence entre la concurrence et le parallélisme ?

Concurrence : fait référence au fait qu'une seule instruction peut être exécutée en même temps, mais plusieurs instructions de processus sont exécutées en rotation rapide, ce qui en fait macroscopiquement L'effet de plusieurs processus s'exécutant en même temps, mais au sens microscopique, ne sont pas exécutés en même temps, ils divisent simplement le temps en plusieurs segments afin que plusieurs processus puissent s'exécuter rapidement et alternativement.

Quelle est la différence entre la concurrence et le parallélisme ?

Le parallélisme existe dans les systèmes multiprocesseurs, tandis que la concurrence peut exister dans les systèmes à processeur unique et multiprocesseur. l'illusion du parallélisme, le parallélisme nécessite que le programme effectue plusieurs opérations en même temps, tandis que la concurrence nécessite uniquement que le programme fasse semblant d'effectuer plusieurs opérations en même temps (en effectuant une opération par petite tranche de temps et en changeant rapidement l'exécution de plusieurs opérations ).


Lorsque plusieurs threads fonctionnent, si le système ne dispose que d'un seul processeur, il est impossible d'exécuter plusieurs threads en même temps. Il ne peut que diviser le temps d'exécution du processeur en plusieurs temps. périodes. , puis allouez la période de temps à chaque thread pour l'exécution. Lorsque le code du thread dans une période de temps est en cours d'exécution, les autres threads sont dans un état suspendu. Cette méthode est appelée concurrence (Concurrent).

Lorsque le système dispose de plusieurs processeurs, les opérations des threads peuvent ne pas être simultanées. Lorsqu'un processeur exécute un thread, un autre processeur peut exécuter un autre thread. Les deux threads ne s'emparent pas des ressources CPU de l'autre et peuvent procéder en même temps. Cette méthode est appelée parallèle (Parallèle).

Quelle est la différence entre la concurrence et le parallélisme ?

Pour plus de connaissances connexes, veuillez visiter : Site Web PHP chinois !

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal