TGViewer
Потраченный код Потраченный код @codewaste · 1.58K subscribers
Post #137 463
⚡️Вопросы с собесов

Сначала отвечай сам и только потом проверяй ответ 👇

Стек: Go

Вопрос:
«Как работает sync.WaitGroup и зачем нужен метод Done()?»

Ответ:
sync.WaitGroup - это потокобезопасный счетчик, который нужен для того, чтобы дождаться завершения группы горутин.

Как он работает под капотом:
Add(n) - увеличивает внутренний счетчик на n (обычно вызывается перед запуском горутин).
Done() - уменьшает счетчик на 1. Фактически, под капотом это просто синоним вызова Add(-1). Чаще всего его вызывают через defer внутри самой горутины, чтобы гарантировать уменьшение счетчика при любом исходе.
Wait() — блокирует выполнение текущей горутины (например, main), пока счетчик не опустится до нуля.
Как только все запущенные горутины отработают и вызовут Done(), счетчик станет равен 0, блокировка снимется, и программа продолжит работу.

Пиши свой вариант ответа в комментарии 👇
  • ❤ 2
More from @codewaste
  1. Oct 9, 2026⚡️Вопросы с собесов Сначала отвечай сам и только потом проверяй ответ 👇 Стек: Go Вопрос:…
  2. Oct 7, 2026⚡️Вопросы с собесов Сначала отвечай сам и только потом проверяй ответ 👇 Вопрос: «Почему н…
  3. Oct 3, 2026Ходишь по техническим собеседованиям, но в ответ получаешь только «к сожалению, мы выбрали…
  4. Sep 30, 2026⚡️Вопросы с собесов Сначала отвечай сам и только потом проверяй ответ 👇 Вопрос: «В чём от…
  5. Sep 25, 2026⚡️Вопросы с собесов Сначала отвечай сам и только потом проверяй ответ 👇 Стек: Go Вопрос:…
  6. Sep 23, 2026Бесконечно учишь Python, но так и не ищешь работу? 🧐 Ты сделал пет-проект и разобрался с…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →