Was ist eine Go-Routine?
Was ist eine Go-Routine?

Video: Was ist eine Go-Routine?

Video: Was ist eine Go-Routine?
Video: Learning Golang: Introduction to Concurrency Patterns, goroutines and channels 2024, November
Anonim

Goroutinen sind Funktionen oder Methoden, die gleichzeitig mit anderen Funktionen oder Methoden ausgeführt werden. Goroutinen kann man sich als leichte Threads vorstellen. Die Kosten für die Erstellung von a Goroutine ist winzig im Vergleich zu einem Thread. Daher ist es üblich für gehen Anwendungen, um Tausende von Goroutinen gleichzeitig laufen zu lassen.

Was ist hier ein Kanal in go?

In gehen Sprache, a Kanal ist ein Medium, über das eine Goroutine mit einer anderen Goroutine kommuniziert und diese Kommunikation blockierungsfrei ist. Oder mit anderen Worten, a Kanal ist eine Technik, die es einer Goroutine erlaubt, Daten an eine andere Goroutine zu senden.

Außerdem, wie viele Goroutinen können gleichzeitig ausgeführt werden? Auf einem Computer mit 4 GB installiertem Arbeitsspeicher begrenzt dies die maximale Anzahl von goroutinen auf knapp 1 Mio. Es ist praktisch, Hunderttausende von goroutinen im gleichen Adressraum.

Wie benutzt man folglich eine Goroutine?

So rufen Sie diese Funktion in a. auf goroutine , verwenden gehen f(s). Dieses neue goroutine wird gleichzeitig mit dem aufrufenden ausgeführt. Sie können auch starten goroutine für einen anonymen Funktionsaufruf. Unsere beiden Funktionsaufrufe laufen asynchron in getrennten goroutinen jetzt.

Kann eine Goroutine einen Wert zurückgeben?

Lauf goroutine (asynchron) und holen Rückgabewert aus der Funktion sind im Wesentlichen widersprüchliche Handlungen. Aber wenn Sie Funktion zuweisen Rückgabewert zu einer Variablen, von der Sie dies erwarten Wert innerhalb der Variablen. Wenn Sie also x:= go doSomething(arg) tun, sagen Sie: Los, warten Sie nicht auf die Funktion!

Empfohlen: