Junior — Middle
Ի՞նչ է տեղի ունենում, եթե գրառում կատարեք այն ալիքին, որի բուֆերը լրիվ լցված է։
sobes.tech AI
Պատասխան AI-ից
Go-յում, եթե փորձեք գրանցել արժեքը բուֆերային ալիքով, որը լրիվ լցված է, գրանցման գործողությունը կբլոկվի մինչև որ ալիքում տեղ ազատվի (այսինքն, մինչև որ մեկը չկարդա ալիքից): Սա ապահովում է սինխրոնիզացիա գորուտինների միջև և կանխում տվյալների կորուստը:
Օրինակ:
ch := make(chan int, 2) // 2 տարրով բուֆեր
ch <- 1
ch <- 2
// ch <- 3 // այստեղ գրանցումը կբլոկվի մինչև որ մեկը չկարդա ch-ից