Heim Backend-Entwicklung Golang Was ist der Unterschied zwischen Parallelität und Parallelität in Go?

Was ist der Unterschied zwischen Parallelität und Parallelität in Go?

Jan 10, 2023 pm 06:13 PM
golang 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.

Was ist der Unterschied zwischen Parallelität und Parallelität in Go?

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.

Was ist der Unterschied zwischen Parallelität und Parallelität in Go?
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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Welche Bibliotheken werden für die Operationen der schwimmenden Punktzahl in Go verwendet? Welche Bibliotheken werden für die Operationen der schwimmenden Punktzahl in Go verwendet? Apr 02, 2025 pm 02:06 PM

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

Was ist das Problem mit Warteschlangen -Thread in Go's Crawler Colly? Was ist das Problem mit Warteschlangen -Thread in Go's Crawler Colly? Apr 02, 2025 pm 02:09 PM

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 entwickelt oder von bekannten Open-Source-Projekten bereitgestellt? Welche Bibliotheken in GO werden von großen Unternehmen entwickelt oder von bekannten Open-Source-Projekten bereitgestellt? Apr 02, 2025 pm 04:12 PM

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, ...

Was ist der Unterschied zwischen 'var' und 'Typ' Typenwort Definition in der GO -Sprache? Was ist der Unterschied zwischen 'var' und 'Typ' Typenwort Definition in der GO -Sprache? Apr 02, 2025 pm 12:57 PM

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 ...

Wie löste ich das Problem des Typs des user_id -Typs bei der Verwendung von Redis -Stream, um Nachrichtenwarteschlangen in GO -Sprache zu implementieren? Wie löste ich das Problem des Typs des user_id -Typs bei der Verwendung von Redis -Stream, um Nachrichtenwarteschlangen in GO -Sprache zu implementieren? Apr 02, 2025 pm 04:54 PM

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

Warum hat das Drucken von Saiten mit Println und String () -Funktionen unterschiedliche Effekte? Warum hat das Drucken von Saiten mit Println und String () -Funktionen unterschiedliche Effekte? Apr 02, 2025 pm 02:03 PM

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

Wie kann sichergestellt werden, dass die Parallelität beim Schreiben von Multi-Process-Protokollen sicher und effizient ist? Wie kann sichergestellt werden, dass die Parallelität beim Schreiben von Multi-Process-Protokollen sicher und effizient ist? Apr 02, 2025 pm 03:51 PM

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? Was soll ich tun, wenn die benutzerdefinierten Strukturbezeichnungen in Goland nicht angezeigt werden? Apr 02, 2025 pm 05:09 PM

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 ...

See all articles