tech:go_lang_-_goroutines
Table des matières
Go lang - goroutines
Voir :
Pb sortie de main avant terminaisons des goroutines - Attendre la fin de toutes les goroutines avant de terminer le programme (la fonction main)
Voir :
Solution naïve
import ( "runtime" "time" ) func wait_all_goroutines() { for runtime.NumGoroutine() > 1 { time.Sleep(500 * time.Millisecond) } } func main() { defer fmt.Println("FIN") // Last defer defer wait_all_goroutines() ch := make(chan int) go evenSum(1, 100, ch) }
Afficher les résultats des goroutine de la plus rapide à la plus longue
Voir :
ch1 := make(chan int) ch2 := make(chan int) go evenSum(1, 10, ch1) go squareSum(1, 10, ch2) for range 2 { select { case r1 := <-ch1: fmt.Println(r1) case r2 := <-ch2: fmt.Println(r2) } }
tech/go_lang_-_goroutines.txt · Dernière modification : de Jean-Baptiste
