Асинхронщина в Python

Поделиться
HTML-код
  • Опубликовано: 21 сен 2024
  • Александр Полищук (ООО "Код безопасности") @ Moscow Python Meetup 52
    "Python - это замечательный язык программирования, но есть одна вещь, которая ограничивает нашу свободу творчества, и называется она GIL. Спикер расскажет, как можно с ним договориться и не ограничивать себя одним потоком".
    Cлайды: www.moscowpytho...
  • НаукаНаука

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

  • @TeppopucT
    @TeppopucT 5 лет назад +6

    Огонь!
    Лучшее объяснение на пальцах

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

    Один из немногих понятных докладов про асинхронность! Спасибо)

  • @mr.senmax6185
    @mr.senmax6185 Год назад +4

    Человек вышел с докладом и не смог ответить на простой вопрос по теме доклада. Это жесть.

  • @andreyklimenko5605
    @andreyklimenko5605 6 лет назад +11

    в "примере из жизни" reutrn requests.get заблокирует нахрен ваш луп, господа

    • @АндрейИсаков-э4к
      @АндрейИсаков-э4к 6 лет назад

      Используйте aiohttp вместо. Но у него пока нет Digest-авторизации, это надо учитывать...

    • @alexpol3842
      @alexpol3842 6 лет назад

      да, есть такое, там потом в разделе вопросов мне указали на этот недостаток, понял что сморозил глупость :)

    • @Victorius-ua
      @Victorius-ua 6 лет назад

      Объясните, кто-нибудь, почему?

    • @agentdaun5699
      @agentdaun5699 5 лет назад

      @@Victorius-ua Ахах, год конечно прошёл, но requests.get это блокирующая функция, такая же, как например, select. requests не умеет в асинхрон, надо использовать aiohttp .

    • @Victorius-ua
      @Victorius-ua 5 лет назад

      @@agentdaun5699 спасибо за ответ, но самому дошло еще год назад, когда начал использовать asyncio :)

  • @МатвейТарасов-ц4б
    @МатвейТарасов-ц4б 6 лет назад +11

    По сути как-то мало сказал

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

    мне понравился доклад. Сказал что асинхронный код работает в одном процессе и в одном потоке...

    • @ivan2885
      @ivan2885 4 года назад

      а разве не так?

    • @zip1982besh
      @zip1982besh 4 года назад +1

      @@ivan2885 всё так, сказал без всякого умысла.

  • @vitaliykopachyov2972
    @vitaliykopachyov2972 6 лет назад +4

    >Асинхронный код плохо читаем и тяжело отлажевать
    Как раз наоборот засчет четко определенных мест прерывания(возврата управления) в функциях, мы более точно можем сказать, что происходит.

  • @MrFrimko
    @MrFrimko 5 лет назад

    почему такие сложности а асинком?
    вроде есть, но лучше бы не было. Почему не взяли реализацию из других технологий? например те же таски в сишарпе с тредпулом.
    Один из вопросов на докладе был про отмену тасков - в том же шарпе для этого есть инструмент CancellationToken
    меняете ему статус и все таски куда этот токен передали - отключаются. Не вижу причин почему не взять подобную реализацию.

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

    Сразу видно что у человека огромный педагогический стаж. (нет!)

  • @naaimiss4572
    @naaimiss4572 5 лет назад

    Злата не рядом с Григорием? Не хочет отвлекать?

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

    Хороший чистый русский порадовал.

  • @boobubuo
    @boobubuo 6 лет назад +1

    я не понял про ГОРЯЧЧИЕ БУТЕРБРОТДЫ !! что за зверь такой :-J

    • @konstantin4045
      @konstantin4045 5 лет назад

      Это когда берешь хлэб, кидаешь на него колбасу, а сверху - кусок сыра. Фигачешь это все микроволновку и ждешь пока расплавится сыр. :)

  • @SierjKhaletski
    @SierjKhaletski 6 лет назад

    Новый GIL на таймаутах с 3.2 если я не ошибаюсь

  • @AndriiKuftachov
    @AndriiKuftachov 6 лет назад +1

    У меня вопрос, а какой уровень у участников, что докладчик рассказывает такие банальные вещи? Это профессиональная ориентация?

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

      Мне интересно, зачем такой снобизм) Кто-то хочет освежить теорию в памяти, кто-то, действительно, новичок, не разобрался с этим. Что плохого-то?

  • @robotnaoborot
    @robotnaoborot 6 лет назад +1

    > Асинхронщина
    > и называется она GIL
    Но для завязанного на IO код GIL не проблема. Название и описание сбивают с толку.
    >Асинхронный код плохо читаем и тяжело отлажевать
    Код с потоками - тоже.

    • @АндрейИсаков-э4к
      @АндрейИсаков-э4к 6 лет назад +3

      Да нормально он читается. async/await означает, что в этом месте возможно переключение контекста. Всё. А код так и остаётся линейным.

    • @artintelligence2682
      @artintelligence2682 6 лет назад

      А ты уверен что GIL тебе прям таки дисковые операции отпустит?)) Вот работа с сетью и асинхронным драйвером - да. Но это не все IO. Вообще сейчас самым безгеморным методом является шедулер на процессах с корутинами. Там хоть в ногу стрельнуть сложнее, потоки для любителей детективных историй в коде

    • @АндрейИсаков-э4к
      @АндрейИсаков-э4к 6 лет назад

      А почему бы и нет? Как и в случае с сетевыми запросами - работа со стороны питона идёт с буфером.

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

    Очень слабый доклад.