Sobes.tech
Junior — Middle

Co się stanie, jeśli zapiszesz dane do niebuforowanego kanału, nie sprawdzając jego stanu ani nie czytając z niego?

sobes.tech AI

Odpowiedź od AI

Если писать данные в небуферизированный канал в Go, не проверяя, готов ли кто-то их принять (то есть не считывая из канала), то операция записи заблокируется. Это происходит потому, что небуферизированный канал требует, чтобы отправитель и получатель были синхронизированы: отправитель ждёт, пока получатель прочитает значение. Если получатель не готов, запись зависнет и горутина, выполняющая запись, будет заблокирована, что может привести к дедлоку, если другие горутины тоже ожидают.