Podemos usar canales para sincronizar la ejecución a través de goroutines. Aquí hay un ejemplo de cómo usar una recepción bloqueante para esperar a que una goroutine termine. Cuando esperas que varias goroutines terminen, puedes preferir usar un WaitGroup. |
|
|
|
|
|
Esta es la función que ejecutaremos en una goroutine. El canal |
|
Envía un valor para notificar que hemos terminado. |
|
|
|
Inicia una goroutine worker, dándole el canal para notificar. |
|
Bloquea hasta que recibamos una notificación del worker en el canal. |
|
|
|
Si quitas la línea |
Siguiente ejemplo: Channel Directions.