Изучаем Golang. Урок 9. Многопоточность. Горутины и каналы

Поделиться
HTML-код
  • Опубликовано: 17 окт 2024

Комментарии • 51

  • @TheArtofDevelopment
    @TheArtofDevelopment  Год назад +1

    С радостью хочу вам представить, что я запускаю курс “Начальная подготовка” по языку Golang. Курс как для совсем начинающих в сфере IT, так и для тех, кто хочет просто изучить язык Go.
    Курс доступен в 3 вариациях:
    1. Онлайн курс с лекциями, заданиями, чатом менторской поддержкой.
    2. Полный видеокурс
    3. Отдельные блоки с лекциями
    Больше обо мне и курсах можно прочитать здесь:
    bit.ly/3XK1oZp
    Записаться на курс можно вот тут:
    bit.ly/406V3IY
    А видео курс тут:
    bit.ly/406VgMg
    А отдельные блоки с видео тут:
    bit.ly/3Rfmhcj
    Больше информации есть в ролике на ютубе:
    ruclips.net/video/E0b0dmwf-6c/видео.html
    На все вопросы могу ответить в Телеграм группе канала и в личных сообщениях.

  • @TheArtofDevelopment
    @TheArtofDevelopment  3 года назад +19

    Это последнее видео в котором отвратный звук. Я все купил для звука и теперь он будет гораздо лучше, уже почти закончил монтаж ролика про Apache Kafka - скоро можно будет оценить!

    • @interviewhelper551
      @interviewhelper551 3 года назад +1

      А про увеличение шрифта забыли

    • @TheArtofDevelopment
      @TheArtofDevelopment  3 года назад +3

      @@interviewhelper551 не забыл. Этот ролик я записал ещё до комментария про шрифт. Следующий будет уже с увеличенным! Спасибо!

  • @isabbot
    @isabbot 5 месяцев назад +1

    Спасибо за простое объяснение. понятно что можно углубиться в тему, но теперь легче, так как общая суть понятна

  • @TheMorni
    @TheMorni 2 года назад +2

    О, вот за дз спасибо, теперь есть возможность попрактиковаться и заполнить существующие "пробелы" в знаниях.

  • @user-mm3vo4fk2o
    @user-mm3vo4fk2o 2 года назад +2

    Ваше объяснение заходит на ура! Спасибо!

  • @skiller4000
    @skiller4000 3 года назад +5

    Огненный огонь ))) Спасибо за интересные видосики

  • @eugeneshershen7027
    @eugeneshershen7027 3 года назад +2

    о как раз ждал ролика по горутинах и каналах, спасибо!

  • @peekaboo9340
    @peekaboo9340 3 года назад +4

    Вроде не сложно. Но посмотрю как на деле с калькулятором =)
    Спасибо за урок!

  • @AudraMcdonald-x9m
    @AudraMcdonald-x9m 2 месяца назад +52

    А как вы решаете проблему синхронизации доступа к общей памяти при работе с горутинами? Лично я долго выбирал курсы по IT, рассматривал разные компании, но в итоге остановился на Skypro. Проработав 7 лет в сфере обслуживания, я решил сменить профессию и пройти курс по программированию. Сомневался, что смогу быстро начать зарабатывать, но благодаря поддержке наставника и качественному обучению уже через пару месяцев после окончания курса получил классный оффер и перешел на удаленку))

    • @GermanBoldyrev
      @GermanBoldyrev 2 месяца назад +5

      Обалдеть до чего реклама дошла

  • @Undeadlymost
    @Undeadlymost 2 года назад +8

    Все таки нужно шрифт в IDE делать побольше для Ютуб.

  • @RK-on4si
    @RK-on4si 2 года назад +2

    спасибо за урок!

  • @johnd.3293
    @johnd.3293 2 года назад +2

    Спасибо, очень круто

  • @Бетельгейзе-й7х
    @Бетельгейзе-й7х Год назад +5

    11:30 Если канал НЕбуферизованный, то запись в канал (как и чтение из канала) это одна транзакция из двух шагов. Шаг первый - запись. Шаг второй - чтение.
    Внутри канала нет буфера для промежуточного хранения значения. То есть значение передаётся из одной переменной сразу в другую переменную. Если делать и запись, и чтение в одном и том же потоке, то первый шаг (запись) проходит, а на втором шаге (ожидание чтения) всё встаёт колом. Так как команда чтения в другой строке, ниже по исходному коду, а туда ещё нужно дойти.
    Есть ещё буферизированные каналы - там другой подход.

  • @isaevalexey7189
    @isaevalexey7189 2 года назад +3

    Доброго времени суток! Отличный урок, спасибо. Но есть не точности, на 19 минуте, ты говоришь что - "это бесконечный цикл", но верно будет сказать что это - "цикл с пост условием"!

  • @QuickXplain
    @QuickXplain 2 года назад +6

    00:00 Вступление
    00:58 Горутины
    05:51 Каналы
    19:00 Ключевое слово Select

  • @nikta456
    @nikta456 3 года назад +2

    Одно слово "легковесный поток" вызывает приятные шоколадно-зефирные ассоциации. И это здорово.

  • @ruslaneldarov6270
    @ruslaneldarov6270 Год назад +2

    Доброго дня!
    Технический вопрос к уважаемому автору)
    Я вступил в группу в Телеграме с целью прикрепить ссылку на pull request, но мои сообщения как-будто улетают в "никуда" когда я их пишу) Похоже, что у меня нет доступа или типа того (не особо знаток тонкостей чатов Телеграма), как можно его получить? буду благодарен)

    • @TheArtofDevelopment
      @TheArtofDevelopment  Год назад

      первые 24 часа сообщения со ссылками и любыми медиа (картинки, видео) удаляются ботом. это некая защита от спамеров

  • @dangbey4822
    @dangbey4822 2 года назад +2

    Насчет Домашнего задания в 9 уроке (Изучаем Golang) про калькулятор. Там если тупо по очереди писать, оно же и так поочереди выполняется, а не вразбрось, разве нет?

    • @TheArtofDevelopment
      @TheArtofDevelopment  2 года назад

      Да, но задача то чтобы параллельно все выполнялось

  • @int0matar
    @int0matar 3 года назад +3

    Отличные видео. Вопрос, 10 и 11 урок недоступен, так и должно быть или что то пошло не так?:)

    • @TheArtofDevelopment
      @TheArtofDevelopment  3 года назад

      Спасибо за фидбек! 10 и 11 уроки выходят в понедельник и четверг соотвественно.

  • @delay_gryaz_chisto
    @delay_gryaz_chisto 3 года назад +2

    отличное видео. спасибо

  • @nomadirl3380
    @nomadirl3380 Год назад +3

    Сбивает с толку, что чтение "в нормальных" условиях обозначается

    • @nomadirl3380
      @nomadirl3380 Год назад +1

      Хотя нет, разобрался. Либо ты так объясняешь, либо я туповат. Но ты неправильно говоришь, что в select "мы ждем, когда кто-то прочитает" - ждем мы как раз в анонимной функции Print, а в селекте мы спамим запись туда, собственно как только записали, она в Print сразу появляется...

  • @Bestmoments-u4q
    @Bestmoments-u4q Год назад +1

    с Телеграмм группы чего кикаете ?

    • @TheArtofDevelopment
      @TheArtofDevelopment  Год назад

      там бот который просит сложить 2 числа, чтобы рекламных и спам ботов отсекать

  • @urydmi
    @urydmi 2 года назад +5

    0:09 скример

  • @nikolaikorotaev9470
    @nikolaikorotaev9470 7 месяцев назад

    В отдельном потоке

  • @l22dev
    @l22dev 3 года назад +1

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

    • @TheArtofDevelopment
      @TheArtofDevelopment  3 года назад +5

      Конечно есть, но не такая простая для использования.
      И в Java все это есть.

    • @alk2345
      @alk2345 Год назад +1

      и в пхп есть, только мозг свернешь как делать =)

  • @КонстантинЯрилин

    Очень все уныло. Автор на пару секунд забыл как получать данные из канала - не пользуется фишками языка...

    • @TheArtofDevelopment
      @TheArtofDevelopment  Год назад

      жаль что у вас сложился такое впечатление. прошли годы, я улучшил свой перподавательский опыт и создал курс artofedu.org/start-go.html можете его попробывать

  • @baxsmaxbax
    @baxsmaxbax 4 месяца назад

    я два раза не повторяю, не повторяю

  • @5t4lk
    @5t4lk 2 года назад +3

    Мужик, поменяй интро, это пиздец скример

    • @TheArtofDevelopment
      @TheArtofDevelopment  2 года назад +3

      сорри. не было наушников и я не контролировал уровень звука и вставок (

    • @alk2345
      @alk2345 Год назад

      Ой, да ладно, заставляет проснуться перед каждым следующим уроком =))))
      Не в обиду аФФтару ;))

  • @xxxbunx
    @xxxbunx 5 месяцев назад +1

    офигительная штука!

  • @Бетельгейзе-й7х
    @Бетельгейзе-й7х Год назад +2

    14:00 Если канал НЕбуферизованный, то запись в канал (как и чтение из канала) это одна транзакция из двух шагов. Шаг первый - запись. Шаг второй - чтение.

    • @Бетельгейзе-й7х
      @Бетельгейзе-й7х Год назад

      11:30 Если канал НЕбуферизованный, то запись в канал (как и чтение из канала) это одна транзакция из двух шагов. Шаг первый - запись. Шаг второй - чтение.
      Внутри канала нет буфера для промежуточного хранения значения. То есть значение передаётся из одной переменной сразу в другую переменную. Если делать и запись, и чтение в одном и том же потоке, то первый шаг (запись) проходит, а на втором шаге (ожидание чтения) всё встаёт колом. Так как команда чтения в другой строке, ниже по исходному коду, а туда ещё нужно дойти.
      Есть ещё буферизированные каналы - там другой подход.