Una goroutine è un thread di esecuzione leggero. |
|
![]() ![]()
|
|
|
|
|
|
|
|
Supponiamo di avere una chiamata di funzione |
|
Per invocare questa funzione in una goroutine, usa
|
|
Puoi anche avviare una goroutine per una chiamata di funzione anonima. |
|
Le nostre due chiamate di funzione ora stanno eseguendo asincronamente in goroutine separate. Aspettiamo che finiscano (per un approccio più robusto, usa un WaitGroup). |
|
Quando eseguiamo questo programma, vediamo prima l’output della chiamata bloccante, poi l’output delle due goroutine. L’output delle goroutine può essere intercalato, perché le goroutine vengono eseguite concorrentemente dal runtime di Go. |
|
Ora vedremo un complemento alle goroutine nei programmi Go concorrenti: i canali. |
Prossimo esempio: Canali.