Possiamo usare i canali per sincronizzare l’esecuzione tra goroutine. Ecco un esempio di utilizzo di una ricezione bloccante per aspettare che una goroutine finisca. Quando si aspettano più goroutine per finire, potresti preferire usare un WaitGroup. |
|
![]() ![]()
|
|
|
|
Questa è la funzione che eseguiremo in una goroutine. Il
canale |
|
Invia un valore per notificare che abbiamo finito. |
|
|
|
Avvia una goroutine worker, passandole il canale su cui notificare. |
|
Blocca finché riceviamo una notifica dal worker sul canale. |
|
|
|
Se rimuovessi la riga |
Prossimo esempio: Direzioni dei Canali.