Взаимная блокировка при работе с каналами в Go
На своём блоге помимо глубоких статей выкладываю решения задачек с собеседований. Одна из самых частых — найти deadlock в коде.
Deadlock — это грубейшая ошибка. Представьте: ваши горутины должны работать, а они спят в самый неподходящий момент. И вся программа встаёт.
Чтобы такого не было, я добавил на блог одну из первых своих задач — именно на эту тему.
Самый полезный вариант — сначала посмотреть код, найти проблемы, попробовать исправить своими силами, а только потом смотреть разбор. Я привёл не одно решение, а целых три.
Переходите на блог, пробуйте решить. Замечания или свои варианты можно писать в комментариях — хоть на блоге, хоть здесь 👇