Junior — Middle
Kako upravljati veličinu buffera u kanalu?
sobes.tech АИ
Одговор од АИ
U Go-u, veličina buffera kanala se određuje prilikom njegovog kreiranja pomoću funkcije make. Ako navedete drugi parametar, to će biti veličina buffera, odnosno broj elemenata koje kanal može da skladišti bez blokiranja pošiljaoca.
Primer kreiranja kanala sa bufferom veličine 5:
ch := make(chan int, 5)
Ako je buffer pun, slanje u kanal blokiraće se dok neko ne pročita iz kanala. Ako je buffer 0 (ili parametar nije naveden), kanal je bez buffera i slanje će se blokirati dok se ne primi vrednost.
Tako, upravljanje veličinom buffera svodi se na navođenje drugog parametra pri kreiranju kanala.