


Was ist der Unterschied zwischen Parallelität und Parallelität in Go?
Der Unterschied zwischen Parallelität und Parallelität: 1. Parallelität bedeutet, den Prozessoren Aufgaben zur Verarbeitung zu unterschiedlichen Zeitpunkten zuzuweisen, während Parallelität bedeutet, dass jede Aufgabe jedem Prozessor unabhängig voneinander erledigt wird. Die Aufgaben werden nicht gleichzeitig ausgeführt, sondern parallel, zum gleichen Zeitpunkt. Die Aufgaben müssen gleichzeitig ausgeführt werden.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, GO Version 1.18, Dell G3-Computer.
Beim Verständnis des Konzepts der Parallelität ist immer ein weiteres Konzept der Parallelität im Spiel. Lassen Sie uns den Unterschied zwischen Parallelität und Parallelität verstehen.
Parallelität: Übergabe von Aufgaben an den Prozessor zur Bearbeitung zu unterschiedlichen Zeitpunkten. Zum gleichen Zeitpunkt werden Aufgaben nicht gleichzeitig ausgeführt.
Parallelität: Weisen Sie jede Aufgabe jedem Prozessor zu, um sie unabhängig zu erledigen. Zum gleichen Zeitpunkt müssen die Aufgaben gleichzeitig ausgeführt werden.
Parallelität ist keine Parallelität. Parallelität bedeutet, dass verschiedene Codeteile gleichzeitig auf verschiedenen physischen Prozessoren ausgeführt werden. Der Schlüssel zur Parallelität liegt darin, viele Dinge gleichzeitig zu erledigen, und Parallelität bezieht sich auf die gleichzeitige Verwaltung vieler Dinge. Diese Dinge dürfen nur zur Hälfte erledigt werden, bevor sie angehalten werden, um andere Dinge zu erledigen.
In vielen Fällen ist Parallelität besser als Parallelität, da die Gesamtressourcen des Betriebssystems und der Hardware im Allgemeinen sehr gering sind, das System jedoch dabei unterstützen kann, viele Dinge gleichzeitig zu erledigen. Diese Philosophie, „mit weniger Ressourcen mehr zu erreichen“, ist auch die Philosophie, die dem Design der Go-Sprache zugrunde liegt.
Wenn Sie Goroutinen parallelisieren möchten, müssen Sie mehr als einen logischen Prozessor verwenden. Wenn mehrere logische Prozessoren vorhanden sind, verteilt der Scheduler die Goroutinen gleichmäßig auf jeden logischen Prozessor. Dies führt dazu, dass die Goroutine in einem anderen Thread ausgeführt wird. Um jedoch wirklich Parallelität zu erreichen, müssen Benutzer ihre Programme auf Maschinen mit mehreren physischen Prozessoren ausführen. Andernfalls werden Goroutinen auch dann gleichzeitig auf demselben physischen Prozessor ausgeführt, wenn die Go-Sprache beim Ausführen mehrere Threads verwendet, und der Paralleleffekt wird nicht erzielt.
Die folgende Abbildung zeigt den Unterschied zwischen der gleichzeitigen Ausführung von Goroutinen auf einem logischen Prozessor und der parallelen Ausführung von zwei gleichzeitigen Goroutinen auf zwei logischen Prozessoren. Der Scheduler enthält einige clevere Algorithmen, die mit der Veröffentlichung der Go-Sprache aktualisiert und verbessert werden. Es wird daher nicht empfohlen, die Standardeinstellungen für logische Prozessoren zur Sprachlaufzeit blind zu ändern. Wenn Sie wirklich glauben, dass eine Änderung der Anzahl logischer Prozessoren die Leistung verbessert, können Sie auch kleine Anpassungen an den Laufzeitparametern der Sprache vornehmen.
Abbildung: Der Unterschied zwischen Parallelität und Parallelität
Die Go-Sprache kann eine parallele Ausführung erreichen, wenn die Anzahl der GOMAXPROCS der Anzahl der Aufgaben entspricht, aber unter normalen Umständen wird sie gleichzeitig ausgeführt.
【Verwandte Empfehlungen: Go-Video-Tutorial, Programmierunterricht】
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Parallelität und Parallelität in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In der Bibliothek, die für den Betrieb der Schwimmpunktnummer in der GO-Sprache verwendet wird, wird die Genauigkeit sichergestellt, wie die Genauigkeit ...

Das Problem der Warteschlange Threading In Go Crawler Colly untersucht das Problem der Verwendung der Colly Crawler Library in Go -Sprache. Entwickler stoßen häufig auf Probleme mit Threads und Anfordern von Warteschlangen. � ...

Welche Bibliotheken in GO werden von großen Unternehmen oder bekannten Open-Source-Projekten entwickelt? Bei der Programmierung in Go begegnen Entwickler häufig auf einige häufige Bedürfnisse, ...

Zwei Möglichkeiten, Strukturen in der GO -Sprache zu definieren: Der Unterschied zwischen VAR- und Typ -Schlüsselwörtern. Bei der Definition von Strukturen sieht die Sprache oft zwei verschiedene Schreibweisen: Erstens ...

Das Problem der Verwendung von RETISTREAM zur Implementierung von Nachrichtenwarteschlangen in der GO -Sprache besteht darin, die Go -Sprache und Redis zu verwenden ...

Der Unterschied zwischen Stringdruck in GO -Sprache: Der Unterschied in der Wirkung der Verwendung von Println und String () ist in Go ...

Effizient behandeln Probleme mit der Parallelitätssicherheit beim Schreiben von Multi-Process-Protokoll. Mehrere Prozesse schreiben gleichzeitig die gleiche Protokolldatei. Wie kann die Parallelität sicher und effizient sichergestellt werden? Das ist ein ...

Was soll ich tun, wenn die benutzerdefinierten Strukturbezeichnungen in Goland nicht angezeigt werden? Bei der Verwendung von Goland für GO -Sprachentwicklung begegnen viele Entwickler benutzerdefinierte Struktur -Tags ...
