Sobes.tech
Junior — Middle

Come viene applicato il metodo Wait e qual è la sua funzione principale nella programmazione?

sobes.tech AI

Risposta dell'AI

In Go, il metodo Wait viene più comunemente usato con il tipo sync.WaitGroup. La sua funzione principale è bloccare l'esecuzione della goroutine corrente fino a quando il contatore del gruppo di attesa non diventa zero. Questo permette di sincronizzare l'esecuzione di più goroutine e di attendere il loro completamento.

Esempio di utilizzo:

var wg sync.WaitGroup
wg.Add(2) // aspettiamo che 2 goroutine finiscano

go func() {
    defer wg.Done()
    // lavoro della prima goroutine
}()

go func() {
    defer wg.Done()
    // lavoro della seconda goroutine
}()

wg.Wait() // si blocca finché entrambe le goroutine non chiamano Done()
// il codice continua

In questo modo, Wait fornisce un modo comodo per attendere il completamento di più task in parallelo.