Sobes.tech
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.