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

Base Tutorial en Golang

Golang Control Statements

Golang Functions & Methods

Golang Structs

Golang Slices & Arrays

Golang Strings (String)

Golang Pointers

Golang Interfaces

Golang Concurrency

Golang Exceptions (Error)

Autres articles divers en Golang

Multiples Goroutines du langage Go

Une Goroutine est une fonction ou une méthode qui peut être exécutée indépendamment et en même temps avec toute autre Goroutine existante dans le programme. Autrement dit, chaque activité exécutée en même temps dans le langage Go est appelée Goroutines. En langage Go, vous pouvez créer plusieurs goroutines dans un programme. Vous pouvez simplement créer une goroutine en utilisant le mot-clé go comme préfixe avant l'appel d'une fonction ou d'une méthode, comme indiqué dans la syntaxe suivante :

func name(){
// instruction
}
//créer des goroutines en utilisant le mot-clé go
go name()

Maintenant, avec des exemples, discutons de la création et de l'utilisation de plusieurs goroutines :

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("!... principal Go-routine se termine... !")
    // appeler Goroutine 1
    go Aname()
    // appeler Goroutine 2
    go Aid()
    time.Sleep(3500 * time.Millisecond)
    fmt.Println("\n!... principal Go-routine se termine... !")
}

Sortie :

!... principal Go-routine se termine... !
Rohit
Suman
Aman
300
Ria
301
302
303
!... principal Go-routine se termine... !

création :Dans l'exemple ci-dessus, en plus du goroutine principal, nous avons deux goroutines, à savoirAnameetAid. Ici,Anameaffichez l'id de l'auteur.Aidtravail :

ici, nous avons deux goroutines, à savoirAid,Anameetainsi qu'un goroutine principal. Lorsque nous exécutons d'abord ce programme, le goroutine principal s'organise et affiche " !... principal Goici, le goroutine principal agit comme un goroutine parent, et les autres goroutines sont ses processus enfants. Par conséquent, le goroutine principal est exécuté avant les autres goroutines, et si le goroutine principal s'arrête, les autres goroutines s'arrêtent également. Par conséquent, après le goroutine principal,-routine commence... !AnameetAid Les goroutines commenceront en même temps. La goroutine Aname commence...15Le travail commence à 0ms, et Aid commence...500ms commence à travailler.