Свяжите каждый использованный примитив с задачей: mutex — общее состояние, WaitGroup — завершение, канал — обмен, Once — инициализация, atomic — отдельный счётчик.
Какие primitives синхронизации в Go вы использовали и для чего они нужны?
Свяжите каждый использованный примитив с задачей: mutex — общее состояние, WaitGroup — завершение, канал — обмен, Once — инициализация, atomic — отдельный счётчик.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Свяжите каждый использованный примитив с задачей: mutex — общее состояние, WaitGroup — завершение, канал — обмен, Once — инициализация, atomic — отдельный счётчик.
Приведите один пример, где неверная синхронизация давала гонку или блокировку. Объясните, как выбирали границу критической секции и кто завершал горутины. Если Cond или RWMutex не использовали, не нужно включать их в собственный опыт только ради списка.