Thread en Go

Le langage Go est spécial car il implémente les threads et la communication par canaux dans le langage.

Goroutine

En Go, les threads sont implémenté comme des goroutines. Au lieu de lancer :

f(x)

On écrit :

go f(x)

Ca crée un nouveau thread qui exécute f(x) !

Communication

La communication entre threads s'effectue avec des canaux.

Pour déclarer un canal ch :

ch := make(chan int)

Pour y placer une valeur v :

ch <- v

Pour lire la prochaine valeur dans un canal ch :

v := <-ch