Por que esse bloqueio de código é?
Eu escrevi o seguinte programa:
package main
import (
"fmt"
)
func processevents(list chan func()) {
for {
//a := <-list
//a()
}
}
func test() {
fmt.Println("Ho!")
}
func main() {
eventlist := make(chan func(), 100)
go processevents(eventlist)
for {
eventlist <- test
fmt.Println("Hey!")
}
}
Como a lista de eventos do canal é um canal em buffer, acho que devo chegar a exatamente 100 vezes a saída "Hey!", Mas ela é exibida apenas uma vez. Onde está o meu erro?