Clic simultané, parallèle, série, synchrone et asynchrone

1. La programmation simultanée est également appelée programmation multithread.

    Dans le programme, il y a souvent de nombreuses tâches chronophages, telles que le téléchargement de fichiers, le téléchargement de fichiers et la discussion avec les clients qui nécessitent beaucoup de temps pour établir une connexion. Pour le moment, un thread ne peut pas servir plusieurs utilisateurs et il y aura des problèmes d'attente dus au monopole des ressources. L'essence de la concurrence est le multiplexage d'un processeur physique (ou de plusieurs processeurs physiques) entre plusieurs programmes. La concurrence consiste à appliquer le partage multi-utilisateur de ressources physiques limitées pour améliorer l'efficacité (achat simultané de tickets).
    Concurrence Lorsque plusieurs threads fonctionnent, si le système ne dispose que d'un seul processeur, il lui est impossible d'exécuter plusieurs threads en même temps. Il ne peut diviser le temps d'exécution du processeur qu'en plusieurs périodes, puis allouer le temps périodes à chaque exécution de thread, lorsque le code de thread est en cours d'exécution pendant un certain temps, les autres threads sont dans un état suspendu. Cette approche s'appelle Concurrent.

2. «Parallèle» signifie que deux ou plusieurs événements ou activités se produisent en même temps. Dans un environnement multi-programmes, le parallélisme permet à plusieurs programmes d'être exécutés simultanément sur différentes CPU en même temps. (Le cluster Hadoop est un calcul parallèle)

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

Concurrence et parallélisme

    La concurrence et le parallélisme sont deux concepts similaires et différents. Parallèle signifie que deux événements ou plus se produisent en même temps, et la concurrence signifie que deux événements ou plus se produisent dans le même intervalle de temps. Dans un environnement multi-programmes, la concurrence signifie que plusieurs programmes s'exécutent en même temps de manière macroscopique dans un laps de temps, mais dans un système à processeur unique, un seul programme peut être exécuté à la fois, donc ces programmes ne sont qu'Il peut être exécuté en alternance en temps partagé. S'il y a plusieurs processeurs dans le système informatique, ces programmes qui peuvent être exécutés simultanément peuvent être distribués à plusieurs processeurs pour réaliser une exécution parallèle, c'est-à-dire que chaque processeur est utilisé pour traiter un programme qui peut être exécuté simultanément. De cette manière, plus Tous les programmes peuvent être exécutés en même temps.

3. Série, parallèle:

    Parallèle et série font référence à la manière dont les tâches sont exécutées. Serial signifie que lorsqu'il y a plusieurs tâches, chaque tâche est exécutée en séquence et la suivante ne peut être exécutée qu'une fois l'une d'entre elles terminée. Parallèle signifie que plusieurs tâches peuvent être exécutées en même temps, et asynchrone est une condition préalable pour plusieurs tâches en parallèle.

4. Synchrone et asynchrone:

    Indique si un nouveau thread peut être ouvert. La synchronisation ne peut pas démarrer un nouveau thread, mais est asynchrone.
    Asynchrone: L'asynchronisation et la synchronisation sont relatives. La synchronisation signifie une exécution séquentielle. Une fois l'une exécutée, la suivante est exécutée, ce qui nécessite une attente et une opération coordonnée. L'asynchronie signifie qu'ils sont indépendants les uns des autres. Ils continuent à faire leurs propres choses en attendant un événement et n'ont pas besoin d'attendre la fin de l'événement avant de travailler. Les threads sont un moyen de réaliser l'asynchronie. L'asynchronie signifie que le thread principal qui appelle la méthode n'a pas besoin d'attendre l'achèvement d'un autre thread de manière synchrone, afin que le thread principal puisse faire d'autres choses.
    L'asynchronie et le multithreading ne sont pas une relation égale. L'asynchronie est le but ultime, et le multithreading n'est qu'un moyen pour nous de parvenir à l'asynchronie. L'asynchronie se produit lorsqu'une demande d'appel est envoyée à l'appelé, et l'appelant peut faire autre chose sans attendre le retour du résultat. La réalisation de l'asynchrone peut adopter la technologie multi-threading ou la remettre à un autre process pour traitement.

5. Multithreading

    Le multithreading est un concept logique de programmation, qui est un morceau de code qui s'exécute simultanément dans un processus. Le multithreading peut réaliser la commutation de l'exécution entre les threads.

Je suppose que tu aimes

Origine blog.csdn.net/qq_41071754/article/details/114520902
conseillé
Classement