Sobes.tech
Junior — Middle

როგორ შეიძლება მართოთ არხის ბუფერის ზომა?

sobes.tech AI

პასუხი AI-სგან

Go-ში, არხის ბუფერის ზომა განსაზღვრულია მისი შექმნის დროს make ფუნქციის გამოყენებით. თუ მითითებულია მეორე პარამეტრი, ეს იქნება ბუფერის ზომა, ანუ ელემენტების რაოდენობა, რომელსაც არხი შეუძლია შეინახოს ისე, რომ არ ბლოკავდეს გამგზავნელს.

მაგალითი 5 ზომის ბუფერიანი არხის შექმნის:

ch := make(chan int, 5)

თუ ბუფერი სავსეა, გაგზავნა არხში ბლოკდება, სანამ ვინმე არ წაიკითხავს არხიდან. თუ ბუფერი 0-ია (ან პარამეტრი არ არის მითითებული), არხი არ არის ბუფერული და გაგზავნა ბლოკდება, სანამ არ მიიღება მნიშვნელობა.

ამგვარად, ბუფერის ზომის მართვა შემოიფარგლება მეორე პარამეტრის მითითებით არხის შექმნის დროს.