Sobes.tech
Junior — Middle

Kas notiks, ja rakstīsiet datus nebuferētā kanālā, ne pārbaudot tā stāvokli vai neskrienot no tā?

sobes.tech AI

Atbilde no AI

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