Heim >Backend-Entwicklung >Golang >Wie steuert die Golang-Funktion die Ausführung von Goroutine?
Die Go-Funktion steuert die Goroutine-Ausführung auf folgende Weise: runtime.Goexit(): Beendet die aktuelle Goroutine zwangsweise. sync.WaitGroup: Warten Sie, bis eine Gruppe von Goroutinen abgeschlossen ist. select{}: Ermöglicht einer Goroutine, auf eines von mehreren Ereignissen zu warten und die entsprechende Aktion basierend auf dem ersten ausgelösten Ereignis auszuführen. context.Context: Kann verwendet werden, um Fristen einzuhalten oder Anfragen an Goroutinen zu stornieren.
Wie Go-Funktionen die Ausführung von Goroutine steuern
Die Programmiersprache Go unterstützt Parallelität und verwendet Goroutine (leichte Threads), um Parallelität zu erreichen. Goroutinen können über Funktionen erstellt und jederzeit nach der Erstellung gestartet werden. In diesem Artikel werden die verschiedenen Funktionen zur Steuerung der Goroutine-Ausführung vorgestellt und einige praktische Beispiele bereitgestellt.
Funktion, die die Goroutine-Ausführung steuert
Praktischer Fall
1. Beenden Sie Goroutine
rrree2. Verwenden Sie sync.WaitGroup, um auf Goroutine zu warten
package main import ( "fmt" "runtime" "time" ) func main() { go func() { for { fmt.Println("Goroutine is running...") time.Sleep(1 * time.Second) } }() // 等待 10 秒后终止 Goroutine time.Sleep(10 * time.Second) runtime.Goexit() }
4 . Kontext verwenden. Goroutine abbrechen
package main import ( "fmt" "sync" "time" ) func main() { var wg sync.WaitGroup // 创建 5 个 Goroutine for i := 0; i < 5; i++ { wg.Add(1) go func(i int) { fmt.Printf("Goroutine %d is running...\n", i) time.Sleep(1 * time.Second) wg.Done() }(i) } // 等待所有 Goroutine 完成 wg.Wait() }
Das obige ist der detaillierte Inhalt vonWie steuert die Golang-Funktion die Ausführung von Goroutine?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!