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

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

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

  • @TheArtofDevelopment
    @TheArtofDevelopment  2 года назад +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
    На все вопросы могу ответить в Телеграм группе канала и в личных сообщениях.

  • @YevgeniyUngurean
    @YevgeniyUngurean 3 месяца назад +3

    Я два раза не повторяю не повторяю. Спасибо за ваш труд

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

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

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

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

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

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

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

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

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

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

    • @YevgeniyUngurean
      @YevgeniyUngurean 3 месяца назад

      Нормальный звук

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

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

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

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

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

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

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

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

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

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

  • @valyamoro
    @valyamoro 2 месяца назад

    Сколько времени изучал по статьям эту тему так и не понимал для чего это всё нужно, а тут в первые 5 минут как будто взрыв в башке произошел и я всё понял)))

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • @nomadirl3380
      @nomadirl3380 2 года назад +1

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

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

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

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

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

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

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

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

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

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

    0:09 скример

  • @nikolaikorotaev9470
    @nikolaikorotaev9470 11 месяцев назад +1

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

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

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

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

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

    • @alk2345
      @alk2345 2 года назад +1

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

  • @baxsmaxbax
    @baxsmaxbax 8 месяцев назад +1

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

  • @jamjam3337
    @jamjam3337 2 месяца назад +1

    спасибо!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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