Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Введение в многопоточность Основы Go

Современные процессоры (CPU) имеют несколько ядер, и некоторые поддерживают гиперпоточность, поэтому они могут обрабатывать несколько инструкций одновременно. Чтобы полностью утилизировать современные CPU, нужно использовать конкурентное программирование.

Конкурентные вычисления — это форма вычислений, когда несколько инструкций выполняются, пересекаясь, в течение одного временного периода.

Например есть 2 инструкции, которые нужно выполнить: А и B. При выполнении инструкций конкурентно ядро процессора вычисляет инструкцию A, при ожидающей B. Когда первая инструкция A заканчивает активное вычисление, она ставится на паузу, и ядро переключается на вычисление инструкции B.

Рассмотрим простой пример конкурентности в реальной жизни: HTTP-запрос к стороннему сервису по сети:

  • вычисление А делает HTTP-запрос

  • пока А ждет ответа, начинает выполняться вычисление B

  • когда ответ пришел, А возвращается в работу

Если в процессоре присутствует более одного ядра, обработка происходит параллельно. Возвращаясь к примеру выше, инструкции A и B будут выполняться независимо в один момент времени.

Конкурентные вычисления могут происходить в программе, компьютере или сети. В данном курсе рассматривается только уровень программ.

Как это все относится к Go? Разберемся в следующем уроке.


Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Об обучении на Хекслете

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»
Изображение Тото

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