Перейти к содержанию
Авторизация  
Стафф

Как разобраться с многопоточностью в Go?

Рекомендуемые сообщения

Народ, привет! Пытаюсь разобраться с многопоточностью в Go, но мозг кипит от взаимодействия горутин. Как вообще правильно передавать данные между ними, чтобы не ловить дедлоки на каждом шагу? Есть толковые гайды?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Главное правило в Go, не делитесь памятью, общаясь, а общайтесь, делясь памятью. Для этого и нужны каналы, это база языка. Если нужно глубокое понимание с практическими примерами, глянь вот этот курс https://balun.courses/courses/concurrency/channels Там очень доходчиво объясняют и про буферизированные каналы, и про то, как правильно закрывать их, чтобы не летели паники. В отличие от стандартной документации, здесь всё разложено по полочкам специально для тех, кто хочет реально разобраться в Concurrency. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тема с конкурентностью в Голанге всегда вызывает вопросы у новичков. Судя по программе этого курса, там как раз разбирают основные паттерны проектирования и работу с селектами. Для системного обучения такой формат обычно заходит лучше, чем разрозненные статьи на Хабре.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Авторизация  

×
×
  • Создать...