Junior — Middle
Mis juhtub, kui kirjutate andmeid mitte-kiirendatud kanalile, kontrollimata selle olekut või lugemata sellest?
sobes.tech AI
Vastus AI-lt
Если писать данные в небуферизированный канал в Go, не проверяя, готов ли кто-то их принять (то есть не считывая из канала), то операция записи заблокируется. Это происходит потому, что небуферизированный канал требует, чтобы отправитель и получатель были синхронизированы: отправитель ждёт, пока получатель прочитает значение. Если получатель не готов, запись зависнет и горутина, выполняющая запись, будет заблокирована, что может привести к дедлоку, если другие горутины тоже ожидают.