Junior — Middle
Hogyan lehet kezelni a puffer méretét egy csatornában?
sobes.tech MI
Válasz az MI-től
Go-ban a csatorna puffer mérete a make függvény segítségével állítható be a létrehozáskor. Ha megadja a második paramétert, az a puffer mérete lesz, vagyis az elem szám, amit a csatorna tárolhat anélkül, hogy blokkolná a küldőt.
Példa egy 5-ös puffer méretű csatorna létrehozására:
ch := make(chan int, 5)
Ha a puffer tele van, a csatornába való küldés blokkolódik, amíg valaki nem olvas a csatornából. Ha a puffer 0 (vagy a paraméter nincs megadva), a csatorna nem pufferelt, és a küldés blokkolódik, amíg értéket nem kap.
Így a puffer méretének kezelése annyiban összpontosul, hogy meg kell adni a második paramétert a csatorna létrehozásakor.