Асинхронность, многопоточность, многопроцессность в python | Библиотека asyncio и асинхронный код

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ธ.ค. 2024

ความคิดเห็น •

  • @PythonHubStudio
    @PythonHubStudio  ปีที่แล้ว +53

    Был интересный вопрос в комментах:
    "А нужно ли импортировать asyncio и делать событийный цикл для бота(aiogram, discord.py)?
    Ответ:
    Нет, событийный цикл запускается самим фреймворком при запуске
    bot.run() или
    start_polling() или
    start_webhook и тд.
    Вы пользуетесь декораторами уже готовых корутин из фреймворка, внедряя в них желаемое вам поведение (async функций под декораторами). Если есть дополнительные функции, то вы их записываете через синтаксис async await, как показано в конце видео, и запускаете из корутин под декораторами, как показано в конце видео.

    • @lebunrte
      @lebunrte ปีที่แล้ว +2

      ты молодец.Единственный в ру сегменте кто СМОГ.

    • @attrebutton
      @attrebutton ปีที่แล้ว

      Telebot ( Pytelegrambotapi) асинхронный

    • @HerouZeg
      @HerouZeg ปีที่แล้ว

      @@attrebuttonСинхронный и Асинхроный
      aiogram только асинхроный

    • @Мамулечка-ф7ц
      @Мамулечка-ф7ц ปีที่แล้ว

      А я всё видео ждал что сейчас узнаю как же мне одновременно запустить bot.polling() дважды или вместе с schedule.run_pending()
      Столкнулся с этой проблемой и ломаю голову три дня.

    • @Yan-tytldfts-008
      @Yan-tytldfts-008 ปีที่แล้ว

      чекни apscheduler как-то так вроде
      @@Мамулечка-ф7ц

  • @griboedov2822
    @griboedov2822 ปีที่แล้ว +176

    единственный нормальный человек который адекватно объясняет ассинхронность! респект

    • @musicdoriankon2632
      @musicdoriankon2632 หลายเดือนก่อน

      А как по мне, так ничего не понятно

    • @PythonHubStudio
      @PythonHubStudio  หลายเดือนก่อน

      @musicdoriankon2632
      Значит рано, эту терминологию следовало посмотреть или до этого видео или во время, если решили его посмотреть не понимая зачем это видео Вам.

  • @heelmees
    @heelmees ปีที่แล้ว +11

    Лучший учитель по Python на ютубе

  • @ixraylk
    @ixraylk 7 วันที่ผ่านมา

    Спасибо! Закрыли пробелы по знаниям об ассинхронности.

  • @kashka-
    @kashka- 9 หลายเดือนก่อน +29

    Искал медь, нашел золото. Отличный ролик

  • @anonym1548
    @anonym1548 ปีที่แล้ว +28

    Бро, спасибо! Я поражен, как легко и доступно у тебя получилось объяснить такую сложную тему.
    Посмотрел видео и с первого раза всё стало понятно.
    А препод нам месяцами объяснял эту тему и нифига было не понятно, только запутал нас ещё больше 😁
    Буду рекомендовать канал.

  • @СергейБакаев-б9ы
    @СергейБакаев-б9ы ปีที่แล้ว +34

    Тяжело переоценить работу этого человека!
    Каждое видео это золото в песке. Я конечно не сторонник изучать язык и его инструменты по обучающим видео, но христоматийный 7ч видос в своё время часто меня выручал. Не знаю как у Вас это получается, но каждый раз когда я сталкиваюсь с проблемой в коде, и решаю проверить Ваш канал на наличие ответов Вы как будто знаете прядок трудностей с которыми столкнётся человек и по порядку все излагаете и даёте ответ. Я ещё не погружался в тему асинхронности и мультипроцессорности, многопоточности, но уверен, после просмотра видео эта тему у меня будет отличный стартовый капитал! :)

  • @kanewalker8705
    @kanewalker8705 ปีที่แล้ว +18

    Недавно на тебя наткнулся чтоб задачу решить, решил и столько интересного на канале нашел! Не бросай учить - очень понятно и круто объясняешь ✊

  • @Prorok-eb4zh
    @Prorok-eb4zh ปีที่แล้ว +3

    Мужик, хочу сказать спасибо, за то что не разжёвываешь так, как будто я первый раз python увидел! Спасибо от всего сердца!!! Этого многим не хватает

  • @user-tb1ok2wg4s
    @user-tb1ok2wg4s ปีที่แล้ว +1

    Чувак - ты лучший. Объяснил лучше всех

  • @ОляГостева-с1и
    @ОляГостева-с1и ปีที่แล้ว +2

    Информативно научнопопулярно доходчиво живым языком со всеми ньюансами самое главное наглядно прямо на мониторе объясняет.. Лучше любого профессора и академика.. Ждём новых видосов

  • @Сашаепифаша
    @Сашаепифаша ปีที่แล้ว +1

    Четко обьяснил,я аж загорелся желанием код переделать под асинхронные функции, но концовка убила, то что нужны отдельные либы это такой костыльный костыль, лучше давайте вынесем мозги разработчикам языка чтобы они сделали разблокировку тнтерпретатора для многопотока 😅

  • @БогданЗахаров-ч9н
    @БогданЗахаров-ч9н ปีที่แล้ว +3

    Супер!!! Долго искал подобное видео, но ничего толкового найти не мог. Здесь же всё ясно и понятно СРАЗУ. Спасибо за урок 🔥

  • @ArtsiomDanilchyk-w4i
    @ArtsiomDanilchyk-w4i ปีที่แล้ว +2

    Только ночью изучал вопрос )
    Гляну ваше видео обязательно !

  • @Maks-gp6np
    @Maks-gp6np ปีที่แล้ว +5

    Спасибо ! Наконец-то доходчивое объяснение на аддекватных примерах!!!!

  • @bro_webman
    @bro_webman ปีที่แล้ว +4

    Очень достойно! Спасибо! Чёт сидел залипал на других роликах, думал уже поспать лечь, не заходит тема. Видимо вопрос в подаче материала. Замечательно прояснилось! Отдельное спасибо за пример диспетчером задач и процессами, без этого чувствуется какой то пробел)

  • @andreyggsg2898
    @andreyggsg2898 ปีที่แล้ว +3

    Большое спасибо за видео! Очень много читал про потоки и асинхронность, но не мог выявить общего понимания, чтобы делать конкурентоспособный код!. Благодаря Вам, сформировалась общая картина!

  • @igorpishurkov
    @igorpishurkov ปีที่แล้ว

    Смамое шикарное объяснение этой темы, которое только встречал! Просто шикарно, нет слов, больше вам спасибо!

  • @ДанилЕфимов-г9п
    @ДанилЕфимов-г9п ปีที่แล้ว +1

    Это лучшее объяснения асинхонности, которое я встречал. Так легко погрузился в эту тему, так еще и дополнительно разобрали мультипроцессинг и многопоточность. Большая благодарность вам. Всех благ!

  • @Vladimir_F609
    @Vladimir_F609 ปีที่แล้ว +5

    Жаль, что нельзя поставить 100 лайков! Огромное Вам спасибо за ваши труды!!!

  • @РабочийРабочий-я6о
    @РабочийРабочий-я6о 11 หลายเดือนก่อน

    Спасибо за энциклопедийное видео без воды! Даже спустя года оно не потеряет актуальности.

  • @АрсланОчиров-щ5д
    @АрсланОчиров-щ5д ปีที่แล้ว +11

    Благодарность автору видео 👍👍👍

  • @archibald3544
    @archibald3544 ปีที่แล้ว +2

    спасибо вам за обьяснение!! Благодаря вам понял асихронность в программировании

  • @RokyTime
    @RokyTime ปีที่แล้ว +1

    Ещё один годный ролик, харош. Твой видос про ООП запостили в паблике по питону. Признание

  • @youcef3939
    @youcef3939 ปีที่แล้ว +1

    В натуре классно Чётко Красавчик! Я давно искал решение для этого проблему случайно посмотрел на канале и нашёл ролик! спасибо большое! продолжай пожалуйста в тот же самый дух.

  • @tomiokasan4120
    @tomiokasan4120 ปีที่แล้ว +4

    Благодарю за информативное видео! Буквально недавно стал интересоваться этой темой. Удачи вам

  • @ХалилМаденбай
    @ХалилМаденбай ปีที่แล้ว +5

    очень крутой учитель, нет слов, респекты!

  • @iprahka
    @iprahka ปีที่แล้ว

    Просто идеальное видео)) спасибо. Тот же GPT отвечая на эти вопросы нес непонятную хню, а тут все четко и с доступными примерами

  • @FeelUs
    @FeelUs 11 หลายเดือนก่อน +5

    00:00 синхронный код на примере print()
    02:14 синхронный код на примере окошка
    06:03 import multiprocessing
    08:14 from threading import Thread
    13:01 (13:50) итераторы
    24:16 (28:34 await, 29:49 gather) asyncio.create_task()
    30:18 (31:01 for) asyncio.TaskGroup()
    34:46 состояние гонки
    35:44 (37:25) асинхронные библиотеки
    37:50 пример для дискорд...

  • @esferon1
    @esferon1 ปีที่แล้ว +1

    Очень классное видео, где на примере просто и понятно объясняют асинхронку.👍

  • @teleport96
    @teleport96 ปีที่แล้ว

    Огромное спасибо за видео.
    По крайней мере пока что, это самое информативное и максимальное понятное видео, что я смог найти на TH-cam.

  • @Anton16180
    @Anton16180 10 หลายเดือนก่อน

    как же долго я искал такой годный контент

  • @Disanax
    @Disanax 11 หลายเดือนก่อน

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

  • @evgenyaroshenko4543
    @evgenyaroshenko4543 ปีที่แล้ว +1

    спасибо, очень понятное объяснение, в отличие от некоторых курсов, которые я проходил

  • @CopyFoxing
    @CopyFoxing ปีที่แล้ว

    Хорош, никогда не видел такого расстягивания хронометража!

  • @Vladimir-bz9tg
    @Vladimir-bz9tg ปีที่แล้ว

    Спасибо Вам большое. Только после просмотра Вашего видео вся та информация, прочтенная в книгах стала понятно. Ещё раз, большое спасибо Вам

  • @IT-thorns
    @IT-thorns 11 หลายเดือนก่อน

    Спасибо тебе большое, я понимаю асинхронность, как она реализовывается на других языках, но в Python из-за GIL было сложно понять как на практике реализовать код, спасибо ещё раз за такой хороший урок.

  • @Error000Max
    @Error000Max ปีที่แล้ว

    так понятно объяснять это талант)
    лайк, подписка за труд

  • @alexturner6417
    @alexturner6417 ปีที่แล้ว

    Отличное видео. Исчезли все вопросы по этим темам. 10/10

  • @MixiPri
    @MixiPri ปีที่แล้ว +2

    Огромное спасибо! Просто шикарно!!! И исчерпывающе!!!

  • @godgiven994
    @godgiven994 ปีที่แล้ว

    Интересный, полезный, с приятной подачей информации видос! Супер!

  • @Tailiira
    @Tailiira ปีที่แล้ว +1

    Спасибо за доходчивые объяснения!

  • @birdwatcher_channel
    @birdwatcher_channel ปีที่แล้ว +1

    спасибо. очень полезное видео! помогло разобраться в асинхронности

  • @qweqweqweqweqweqweqweqw
    @qweqweqweqweqweqweqweqw ปีที่แล้ว +1

    Спасибо, вы большой молодец, что делаете такой труд для нас !

  • @ВладимирЛуньков-ь1г
    @ВладимирЛуньков-ь1г ปีที่แล้ว

    Как всегда - донесение информации на высшем уровне!

  • @РемонтквартирвОдессе
    @РемонтквартирвОдессе 6 หลายเดือนก่อน

    Низкий поклон за то как разжевана вся информация . Все пошагово, на понятных примерах, все взаимосвязи данной данной темы учтены. СУПЕР.

  • @chosenfewtyranny
    @chosenfewtyranny 4 หลายเดือนก่อน

    Как повезло с этим видео. Объяснил очень просто, без заумных фраз. Огромное спасибище!

  • @exemplles
    @exemplles ปีที่แล้ว

    Вау, как раз сегодня с утра сел за эту тему. Как неожиданно и приятно

  • @ДэннисШтиль
    @ДэннисШтиль ปีที่แล้ว

    Дружище, наткнулся на твой канал, ты же просто находка!! Давай видос про Js и иже с ним. Аудитории зайдёт на все 100!

  • @eduardtsuranov712
    @eduardtsuranov712 ปีที่แล้ว +1

    Огромная благодарность!!! Очень доступно и понятно! (смотрел другие видео, было тяжко) 27:43 "при помощи этого кода мы их преподготовили" Мне кажется, как описано в функции create_task - мы оформляем задачу и помещаем в расписание. Иначе говоря этот код запустит все задачи ПОСЛЕ выполнения основного кода. Т.е. await task в данном случае не нужен. (обычно он нужен если нужно взять результат выполнения задач и обработать). Вероятно, на это так же указывает следующий код с TaskGroup где нет await-ов
    Еще как я понял(благодаря этому видео в частности), асинхронность заканчивается тогда, когда встречается await. Смысл асинхронности в том, чтобы НЕ ждать, а await - заставляет именно ЖДАТЬ. При этом реальная асинхронность может быть использована либо во внешней асинхронной функции через оформление в задачу, либо внутри функции оформление в задачу и await ставим на задачу, а не на функцию.

  • @Faybmi
    @Faybmi 4 หลายเดือนก่อน

    Изучил джарго по вашим видосам, понял что надо знать многопоточность и асинхронность, опа, а тут имеется

  • @qweqweqweqweqweqweqweqw
    @qweqweqweqweqweqweqweqw ปีที่แล้ว

    Спасибо. Объяснил как маленькому малышу Асинхронность !🥰

  • @OlegAndriiash
    @OlegAndriiash ปีที่แล้ว +1

    Благодарю! Очень интересно и доступно для понимания.

  • @MrEklair
    @MrEklair ปีที่แล้ว +5

    Ух сложно сказал бы я, но стало понятно как теперь всё это работает. Спасибо за разъяснения!

  • @dispeloff
    @dispeloff ปีที่แล้ว

    Максимально полезный видос👍

  • @hunterxvov4ik
    @hunterxvov4ik ปีที่แล้ว +1

    в тебе найкращі відео з програмування. Зроби будь ласка відео по асинхронній sqlite

  • @tanto_id
    @tanto_id ปีที่แล้ว

    Записал небольшой конспект, все понятно. Спасибо

  • @Novice2213
    @Novice2213 ปีที่แล้ว

    Спасибо огромное! Очень доступно, на примерах, интересно

  • @adammason482
    @adammason482 ปีที่แล้ว

    Спасибо за очень информативный ролик!

  • @Arlant_co
    @Arlant_co 3 หลายเดือนก่อน

    Так емко и доходчиво, шикарная подача информации, спасибо!!)

  • @topmovie2224
    @topmovie2224 ปีที่แล้ว

    Привет. Для обучения очень крутой канал. Спасибо тебе!

  • @pendelbus555
    @pendelbus555 ปีที่แล้ว

    Без воды - спасибо

  • @Tequila_Sánchez
    @Tequila_Sánchez ปีที่แล้ว +1

    Отличный урок.

  • @willotzze2519
    @willotzze2519 ปีที่แล้ว +1

    огромное вам спасибо за обучение

  • @maksymartomenko7633
    @maksymartomenko7633 6 หลายเดือนก่อน +1

    Спасибо, это лучшее объяснение разницы всех этих понятий.

  • @alexzeeker696
    @alexzeeker696 ปีที่แล้ว +1

    Спасибо за видео! Если будет желание, то выпусти, пожалуйста, видео по веб приложениям внутри телеграм. Было бы очень интересно об этом узнать!

  • @МамедИндус
    @МамедИндус ปีที่แล้ว

    Мне нравятся твой канал и твои видео. Продолжай, бро

  • @greenstrem
    @greenstrem ปีที่แล้ว

    Спасибо дружише ! очень понятно объяснил!

  • @oreshkinalexey
    @oreshkinalexey ปีที่แล้ว

    Божественно!

  • @КоляБереговой-с4и
    @КоляБереговой-с4и 6 หลายเดือนก่อน

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

  • @KikrAzz
    @KikrAzz ปีที่แล้ว

    Класс. благодарю, хороший человек

  • @thisergey
    @thisergey ปีที่แล้ว

    Спасибо, очень хорошо объяснил, хорошее видео получилось

  • @Pavel-t5f
    @Pavel-t5f ปีที่แล้ว

    Спасибо, дядь, контент что надо))

  • @SorterSbl
    @SorterSbl ปีที่แล้ว

    Очень круто , спасибо за видео

  • @dhddhd9774
    @dhddhd9774 ปีที่แล้ว

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

  • @ИльнурИмамов-е7к
    @ИльнурИмамов-е7к ปีที่แล้ว

    Вот это мы смотрим. Спасибо

  • @abdulloakramov7941
    @abdulloakramov7941 ปีที่แล้ว

    Спасибо за отличный урок

  • @shemyatin_konstantin
    @shemyatin_konstantin ปีที่แล้ว +1

    Большое спасибо за Ваш труд. Всегда жду выхода ваших новых видео.
    Подскажите, у вас есть ещё какие либо каналы, группы, чаты?

  • @OleksandrOlishchuk
    @OleksandrOlishchuk ปีที่แล้ว

    Вау, дякую за інфу
    Це підписка/лайк

  • @User_mayor
    @User_mayor 4 หลายเดือนก่อน

    ЛУЧШИЙ!

  • @primegod
    @primegod ปีที่แล้ว +1

    Начиная с 27:55 у многих может создаться впечатление, что await запускает таски, хотя они уже могут работать, а не быть "преподготовлеными" (на самом деле они запланированы на запуск в цикле событий).

  • @limonred5283
    @limonred5283 ปีที่แล้ว

    на 2:00 лайк, сразу понятно, что будет понятно))

  • @mylife-ej8et
    @mylife-ej8et ปีที่แล้ว

    Вообще топ, продолжай в том же духе

  • @МК905
    @МК905 ปีที่แล้ว

    спасибо мужик все понятно обьяснил

  • @dmitriyneledva4693
    @dmitriyneledva4693 ปีที่แล้ว

    Замечательное видео!

  • @rad3
    @rad3 ปีที่แล้ว

    Спасибо, однозначно лайк, отлично объяснил)

  • @nikitakurabtsev1222
    @nikitakurabtsev1222 10 หลายเดือนก่อน +1

    Лучшее русскоязычное объяснение, спасибо вам.

  • @user-buser_eto_ja
    @user-buser_eto_ja ปีที่แล้ว

    Безмерная благодарность

  • @Engineer_Pan
    @Engineer_Pan ปีที่แล้ว

    Шикарно!

  • @КонстантинГолубович
    @КонстантинГолубович ปีที่แล้ว

    Спасибо за контент

  • @ИванКукушкин-ы4э
    @ИванКукушкин-ы4э ปีที่แล้ว

    Смотришь как на Py реализуется асинхронность и слезы наворачиваются после многолетней работы в JS))

  • @ВладимирВермутов
    @ВладимирВермутов ปีที่แล้ว

    уважаемый бро, твоё видео оказалось самым понятным из всех материалов представленных на ютюбе. моё уважение. в результате у меня получился замечательный конспект и я отлично понял основные конструкции, спасибо тебе.
    осталось немного непонятным в трек-тайме 32:24 (что именно стоит использовать таски, функцию_гетхер, или конструкцию async with as ) как я понял все будет зависеть от самого скрипта , мне очень понравилась gether )
    очень жаль что нельзя добавить скрин с конспектом , хороший получился . так же интересуюсь за библиотеку aiohttp хотелось бы разобрать и ее.

    • @PythonHubStudio
      @PythonHubStudio  ปีที่แล้ว

      👍 Что использовать?: не имеет значения, последнее - новый способ в python 3.11, просто более лаконичный. Может быть есть какая-то оптимизация дополнительная, но вряд-ли, я в документах ее не увидел или пропустил.

  • @jetbrain9115
    @jetbrain9115 6 หลายเดือนก่อน

    Спасибо! Ты можешь преподносить информацию понятно.

  • @stayingaliveable
    @stayingaliveable ปีที่แล้ว

    спасибо большое за видео

  • @vilinvil0
    @vilinvil0 ปีที่แล้ว +2

    38:14 Это разве не потенциалльное место для sql инъекции ?

  • @Julia-lw2sk
    @Julia-lw2sk 7 หลายเดือนก่อน

    Спасибо большое! Очень доступное объяснение.

  • @igorb.4917
    @igorb.4917 ปีที่แล้ว +2

    О, супер!

  • @MaxPV1981
    @MaxPV1981 ปีที่แล้ว

    35:40 "В асинхронном подходе такой проблемы нет" - почему?
    Если Вы будете использовать глобальные структуры данных, то естественно race conditions там и останутся. Мало того, они останутся и в случае "мультипроцессового" исполнения. Вопрос, какой объект Вы собираетесь менять. Если просто передаются значения параметра в виде неизменяемых объектов, то никакого race condition не будет ни в каком из вариантов. Правильно?
    Вы ведь сами на 39:35 об этом рассказали - как достигается отсутствие коллизий: запускается отдельная нить исполнения процедур для каждого клиента. И даже если будет подразумеваться какая-то запись результатов, при которой возможны коллизии, то они уже будут обрабатываться асинхронными библиотеками, а не вручную пользователем.

  • @kk_kng1064
    @kk_kng1064 ปีที่แล้ว +4

    Супер👍 Как всегда, объясняет все очень круто. А где можно почитать как примерно работает async await под капотом?

  • @Lans_Dart
    @Lans_Dart ปีที่แล้ว

    Как всегда топ, если возможно, то хотел бы попросить небольшой урок по PHP в html