channels
cómo detener un goroutine
Tengo un goroutine que llama a un método, y pasa el valor devuelto en un canal:
ch := make(chan int, 100)
go func(){
for {
ch <- do_stuff()
}
}()
¿Cómo puedo detener tal goroutine?
Son canales pasados por referencia implícitamente
El go tour tiene este ejemplo para los canales: https://tour.golang.org/concurrency/2
package main
import "fmt"
func su ... te, c se pasó por referencia, pero no se creó ningún puntero a c. ¿Los canales se pasan implícitamente por referencia en go ?
Por qué usar un canal sin búfer en el mismo goroutine da un punto muerto
Estoy seguro de que hay una explicación simple a esta situación trivial, pero soy nuevo en el modelo de concurrencia go.
Cua ... uevo, ¿por qué ?
Por favor, necesito una explicación profunda , no solo cómo eliminar el punto muerto y arreglar el código.