La domanda che mi sono posto è la seguente: esiste un modo intelligente per aspettare che tutte le go routines abbiano finito la loro esecuzione prima di procedere alla chiusura della funzione main?
Stamattina, come al solito, apro le mail e trovo la seguente discussione.
Subito arrivano alcune risposte come ad esempio:
The standard practice in Go seems to be for goroutines to pass to a
channel so signal their end. For example:
package main
func routine(quit chan int) {
// do stuff
quit <- 1
}
func main() {
routineQuit := make(chan int)
go routine(routineQuit)
<-routineQuit // blocks until quit is written to
}
-Daniel
Ma poi arriva questo link che vi invito caldamente a seguire se siete interessati all'argomento come lo sono io perchè lo spiega in modo molto chiaro: link.
A breve altri approfondimenti.
Buon Go a tutti!
Nessun commento:
Posta un commento