Dlaczego to blokowanie kodu Go?
Napisałem następujący program:
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!")
}
}
Ponieważ lista zdarzeń kanału jest kanałem buforowanym, myślę, że powinienem uzyskać dokładnie 100 razy więcej niż „Hej!”, Ale jest wyświetlany tylko raz. Gdzie jest mój błąd?