„Hohe Parallelität und Multithreading“ werden immer zusammen erwähnt, was den Eindruck erweckt, dass die beiden gleich sind, aber tatsächlich ist hohe Parallelität ≠ Multi -Threading
Multi-Threading(Empfohlenes Lernen: Web-Front-End-Video-Tutorial)
Multi-Threading ist Eine Funktion von Java, da CPUs jetzt Multi-Core- und Multi-Threading-fähig sind und mehrere Aufgaben gleichzeitig ausführen können. Um die Ausführungseffizienz von JVM zu verbessern, bietet Java diesen Multithreading-Mechanismus, um die Datenverarbeitungseffizienz zu verbessern. Multithreading entspricht der CPU und hohe Parallelität entspricht Zugriffsanforderungen. Sie können einen einzelnen Thread verwenden, um alle Zugriffsanforderungen zu verarbeiten, oder mehrere Threads verwenden, um Zugriffsanforderungen gleichzeitig zu verarbeiten.
In der vergangenen Single-CPU-Ära konnte eine einzelne Aufgabe jeweils nur ein einziges Programm ausführen. Später entwickelte sich daraus die Multitasking-Stufe, bei der der Computer mehrere Aufgaben oder Prozesse parallel zum gleichen Zeitpunkt ausführen kann.
Obwohl es sich nicht um den „gleichen Zeitpunkt“ im eigentlichen Sinne handelt, teilen sich mehrere Aufgaben oder Prozesse eine CPU, und es bleibt dem Betriebssystem überlassen, das laufende Umschalten der CPU zwischen mehreren Aufgaben abzuschließen. sodass jede Aufgabe die Möglichkeit hat, innerhalb einer bestimmten Zeitspanne ausgeführt zu werden.
Später wurde die Multithreading-Technologie entwickelt, die die parallele Ausführung mehrerer Threads innerhalb eines Programms ermöglicht. Die Ausführung eines Threads kann man sich als eine CPU vorstellen, die das Programm ausführt. Wenn ein Programm unter Multithreading ausgeführt wird, sieht es so aus, als würden mehrere CPUs das Programm gleichzeitig ausführen.
Kurz gesagt kann Multithreading folgendermaßen verstanden werden: Multithreading ist eine Programmiermethode für den Umgang mit hoher Parallelität, das heißt, Parallelität muss mit Multithreading implementiert werden.
Hohe Parallelität
Hohe Parallelität ist nicht etwas, das nur JAVA bietet. Es handelt sich um ein umfassendes, sprachunabhängiges Konzept, das zur Bereitstellung besserer Internetdienste vorgeschlagen wird.
Typische Szenarien, wie zum Beispiel: 12306 ergattern Bahntickets, Tmall Double Eleven-Flash-Sale-Event usw. Das Auftreten dieser Situation führt dazu, dass das System in diesem Zeitraum eine große Anzahl von Vorgängen ausführt, z. B. Ressourcenanforderungen, Datenbankvorgänge usw. Wenn eine hohe Parallelität nicht gut gehandhabt wird, verringert sich nicht nur die Benutzererfahrung (die Antwortzeit auf die Anforderung ist zu lang), sondern es kann auch zu Systemausfällen kommen. In schweren Fällen kann es sogar zu OOM-Ausnahmen kommen und das System funktioniert nicht mehr.
Wenn Sie möchten, dass sich das System an eine hohe Parallelität anpassen kann, müssen Sie das System in allen Aspekten optimieren, einschließlich Hardware, Netzwerk, Systemarchitektur, Auswahl der Entwicklungssprache und Verwendung von Datenstrukturen , Algorithmusoptimierung, Datenbankoptimierung usw. und Multithreading ist nur eine der Lösungen.
Das obige ist der detaillierte Inhalt vonMultithread-Parallelität. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!