Warum blockiert dieser Go-Code?
Ich habe folgendes Programm geschrieben:
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!")
}
}
Da es sich bei der Channel Eventlist um einen gepufferten Channel handelt, denke ich, ich sollte genau das 100-fache der Ausgabe "Hey!" Bekommen, aber sie wird nur einmal angezeigt. Wo ist mein Fehler?