1658 Stimmen

Was ist der Unterschied zwischen Gleichzeitigkeit und Parallelität?

Was ist der Unterschied zwischen Gleichzeitigkeit und Parallelität?

Beispiele sind erwünscht.

40voto

Saurabh Pakhare Punkte 675

Einfaches Beispiel:

Gleichlaufend ist: "Zwei Warteschlangen greifen auf einen Geldautomaten zu"

Die Parallele ist: "Zwei Warteschlangen und zwei Geldautomaten"

34voto

JP Alioto Punkte 44283

Sie lösen unterschiedliche Probleme. Die Gleichzeitigkeit löst das Problem der knappen CPU-Ressourcen und der vielen Aufgaben. Man erstellt also Threads oder unabhängige Ausführungspfade durch den Code, um die Zeit auf der knappen Ressource zu teilen. Bis vor kurzem hat die Gleichzeitigkeit die Diskussion wegen der CPU-Verfügbarkeit dominiert.

Die Parallelität löst das Problem, genügend Aufgaben und geeignete Aufgaben (solche, die korrekt aufgeteilt werden können) zu finden und sie auf reichlich vorhandene CPU-Ressourcen zu verteilen. Parallelität gab es natürlich schon immer, aber sie rückt immer mehr in den Vordergrund, weil Multicore-Prozessoren so billig sind.

32voto

Mihai Toader Punkte 11831

Konkurrenzen: mehrere Ausführungsabläufe mit der Möglichkeit, Ressourcen gemeinsam zu nutzen

Ex: Zwei Threads konkurrieren um einen E/A-Anschluss.

Paralellismus: Aufspaltung eines Problems in mehrere ähnliche Teile.

Ex: Parsen einer großen Datei durch Ausführung von zwei Prozessen auf jeder Hälfte der Datei.

17voto

yoAlex5 Punkte 20661

Gleichzeitigkeit vs. Parallelität

Rob Pike in Gleichzeitigkeit ist nicht Parallelität

Bei der Gleichzeitigkeit geht es darum, viele Dinge auf einmal zu erledigen.

Bei der Parallelität geht es darum, viele Dinge auf einmal zu tun.

[Gleichzeitigkeitstheorie]

Gleichzeitigkeit - bearbeitet mehrere Aufgaben auf einmal
Parallelität - verarbeitet mehrere Threads auf einmal

Meine Vision von Gleichzeitigkeit und Parallelität

[Sync vs. Async]

17voto

Mohaqiq Punkte 276

Gleichzeitigkeit \=> Wenn mehrere Aufgaben in sich überschneidenden Zeiträumen mit gemeinsam genutzten Ressourcen durchgeführt werden (potenzielle Maximierung der Ressourcenauslastung).

Parallel \=> wenn eine einzelne Aufgabe in mehrere einfache unabhängige Teilaufgaben unterteilt wird, die gleichzeitig ausgeführt werden können.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X