Junior — Middle
Wie viele Elemente können maximal in einen Kanal platziert werden?
sobes.tech KI
Antwort von AI
In Go hängt die maximale Anzahl der Elemente in einem Kanal von dessen Puffer ab. Ein Kanal kann gepuffert oder ungepuffert sein.
- Wenn der Kanal ungepuffert ist (erstellt mit
make(chan Type)), kann er 0 Elemente enthalten — das Senden blockiert bis zum Empfang. - Wenn der Kanal gepuffert ist (erstellt mit
make(chan Type, N)), ist die maximale Anzahl der Elemente gleich der PuffergrößeN.
Theoretisch ist die Puffergröße durch den verfügbaren Speicher und den int-Typ begrenzt (auf 64-Bit-Systemen ist dies eine sehr große Zahl). In der Praxis ist ein zu großer Puffer jedoch ineffizient und kann zu hohem Speicherverbrauch führen.
Beispiel für die Erstellung eines gepufferten Kanals mit 100 Elementen:
ch := make(chan int, 100)