English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang Grundtutorials

Golang Kontrollanweisungen

Golang Funktion & Methode

Golang Struktur

Golang Slice & Array

Golang Zeichenkette (String)

Golang Zeiger

Golang Schnittstelle

Golang Parallelität

Golang Ausnahme (Error)

Golang andere Artikel

Go Mehrere Goroutines

Eine Goroutine ist eine Funktion oder ein Verfahren, das unabhängig und gleichzeitig mit jeder anderen Goroutine im Programm ausgeführt werden kann. Mit anderen Worten, jede gleichzeitig ausgeführte Aktivität in der Go-Sprache wird als Goroutine bezeichnet. In der Go-Sprache können Sie mehrere goroutines in einem Programm erstellen. Sie können einfach eine goroutine durch die Verwendung des Schlüsselworts 'go' als Präfix für die Aufrufe von Funktionen oder Methoden erstellen, wie im folgenden Syntax gezeigt:

func name(){
// Anweisung
}
//Erstellen Sie goroutine mit dem go-Schlüsselwort
go name()

Nun diskutieren wir mit einem Beispiel, wie man mehrere goroutine erstellt und verwendet:

package main
import (
    "fmt"
    "time"
)
//goroutine 1
func Aname() {
    arr1 := [4]string{"Rohit", "Suman", "Aman", "Ria"}
    for t1 := 0; t1 <= 3; t1++ {
        time.Sleep(150 * time.Millisecond)
        fmt.Printf("%s\n", arr1[t1])
    }
}
// goroutine 2
func Aid() {
    arr2 := [4]:int{300, 301, 302, 303}
    for t2 := 0; t2 <= 3; t2++ {
        time.Sleep(500 * time.Millisecond)
        fmt.Printf("%d\n", arr2[t2])
    }
}
func main() {
    fmt.Println("!...Haupt Go-routine beginnt...!")
    // Aufruf von Goroutine 1
    go Aname()
    // Aufruf von Goroutine 2
    go Aid()
    time.Sleep(3500 * time.Millisecond)
    fmt.Println("\n!...Haupt Go-routine endet...!")
}

Ausgabe:

!...Haupt Go-routine beginnt...!
Rohit
Suman
Aman
300
Ria
301
302
303
!...Haupt Go-routine endet...!

Erstellen:Im obigen Beispiel haben wir neben dem Hauptgoroutine auch zwei goroutine, nämlichAnameundAid. HierbeiAnameDrucke den Namen des Autors aus.AidDrucke die ID des Autors aus.

Arbeiten:Hier haben wir zwei goroutine, nämlichAnameundAid,sowie einem Hauptgoroutine. Wenn wir das Programm zum ersten Mal ausführen, wird der Hauptgoroutine aufgelöst und "!...Haupt Go" gedruckt.-routine beginnt...! Hierbei ähnelt der Hauptgoroutine einem Elterngoroutine, während andere goroutine ihre Unterprozesse sind. Daher wird der Hauptgoroutine zuerst ausgeführt und dann andere goroutine gestartet. Wenn der Hauptgoroutine beendet wird, werden auch andere goroutine beendet. Daher wird nach dem Hauptgoroutine,AnameundAid goroutine gleichzeitig beginnen. Der Aname goroutine beginnt von15Die Arbeit beginnt nach 0ms, während Aid von500ms beginnen zu arbeiten.