TGViewer
Библиотека Go для собеса | вопросы с собеседований Библиотека Go для собеса | вопросы с собеседований @go_interview_lib · 7.46K subscribers
Post #1343 1.92K
Насколько безопасно передавать слайсы в горутины

Если несколько горутин читают и пишут в один слайс одновременно — это гонка данных, даже если они обращаются к разным индексам.

append может вызвать реаллокацию: старый массив заменяется новым, и другие горутины продолжат работать с устаревшим указателем

Передача слайса по значению копирует только заголовок , но не данные — горутины всё равно разделяют память

Что делать:

sync.Mutex / sync.RWMutex — если нужен общий доступ с защитой

• передавать копию данных через канал, если горутина должна работать независимо

• sync.Map или разбиение на независимые диапазоны, если горутины работают с непересекающимися частями

Важный нюанс: если горутины работают со строго непересекающимися индексами и append не вызывается — гонки нет. Но доказать это на ревью сложно, поэтому явная синхронизация предпочтительнее.

🐸Библиотека Go для собеса
  • ❤ 2
More from @go_interview_lib
  1. Sep 18, 2026А вы уже забрали свой подарок ко Дню программиста? К вашему профессиональному празднику Tp…
  2. Sep 15, 2026❓ Какой максимальный размер бинарного файла можно собрать В Go нет встроенного ограничения…
  3. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  4. Aug 4, 2026❓ Объясните разницу между безопасным доступом к байтам строки через срез и использованием…
  5. Aug 4, 2026Покупать новый курс каждый раз, когда меняется рабочая задача, — довольно странная механик…
  6. Aug 4, 2026👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах…
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 →