МНОГОПОТОЧНОСТЬ В PYTHON (1 ЧАСТЬ). GIL. ИСТОРИЯ ОДНОЙ БЛОКИРОВКИ.

Поділитися
Вставка
  • Опубліковано 4 жов 2024

КОМЕНТАРІ • 38

  • @denk2k
    @denk2k 2 роки тому +19

    Как же круто, когда ты объясняешь на схемах в Miro. Такого практически никто не делает.

    • @luchanos
      @luchanos  2 роки тому +2

      спасибо! я постараюсь ещё нарезать что-то вроде методичек как-нибудь

  • @Yarazny
    @Yarazny Рік тому +2

    Николай, спасибо! Познавательно, глубоко, и интересно!

  • @ЮрийГребеников
    @ЮрийГребеников Рік тому +2

    Благодарность от всей души!

  • @_garik__
    @_garik__ Рік тому

    Офигеть! Очень круто и понятно объяснил, спасибо!

  • @zelenchuk.serhii
    @zelenchuk.serhii Рік тому +1

    Спасибо!

  • @ruslanboroda5145
    @ruslanboroda5145 2 роки тому +1

    Огромная благодарность тебе!

  • @Miron_Nicolaevich
    @Miron_Nicolaevich 9 місяців тому

    Первый раз свою ваш контент, прям вышка.

  • @MegaTraxxas
    @MegaTraxxas 7 місяців тому

    excellent explanation of GIL role

  • @p.polunin
    @p.polunin 2 роки тому

    Все очень доступно и понятно.

  • @АлексейСвириденко-ф4ы

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

  • @arstudio7987
    @arstudio7987 2 роки тому +1

    Thanks! 👍💪

  • @Sunwait-nsk
    @Sunwait-nsk 11 місяців тому

    Thank you!

  • @ИванЧоботов-й9у

    !!!! Идеально !!!!

  • @Anthony_Private
    @Anthony_Private 2 роки тому

    лучшее видео на эту тему!!!

  • @ahmadum
    @ahmadum 2 роки тому +1

    Просто гигант! Все легло в башке как надо)

  • @donfedor007
    @donfedor007 2 роки тому

    Крутой ролик! Спасибо Вам!

  • @ЖанЖак-м7м
    @ЖанЖак-м7м Рік тому

    здорово!

  • @01011968Desgner
    @01011968Desgner 11 місяців тому +1

    Ошибку воспроизвести не удалось, GIL за год стал работать лучше?)))

  • @best_coozy_dad
    @best_coozy_dad 3 місяці тому

    Получается lock это те же мьютексы?

  • @ivan_inanych
    @ivan_inanych Рік тому

    Хоть кто то смог объяснить зачем нужен гил! От души

  • @РусланХайдаров-з4ф
    @РусланХайдаров-з4ф 10 місяців тому

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

  • @НикитаРадин-х4р
    @НикитаРадин-х4р Рік тому +1

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

    • @luchanos
      @luchanos  Рік тому

      Как я понял это безбожно дорого

  • @n1k726
    @n1k726 2 роки тому +2

    спасибо за материал! ты говоришь, что благодаря GIL однопоточные программы работают быстрее, а почему так? слышал такую информацию, но не понимаю, почему

    • @luchanos
      @luchanos  2 роки тому

      Пожалуйста!! БЫстрее, потому что мы используем только 1 точку блокировки - GIL, а не тысячи тысяч где-то ещё)

    • @YGNETATEL_3000
      @YGNETATEL_3000 4 місяці тому

      @@luchanos 26:15 Асуждаем !!!

  • @doszhanm6936
    @doszhanm6936 2 роки тому

    Я думал, что, если напишу функцию реквеста на некии адресс и выполню ее в 5 потоков, то все реквесты вылетят в одном моменте времени. Получается между каждым реквестом есть задежка?

    • @luchanos
      @luchanos  2 роки тому +1

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

  • @ivankurban669
    @ivankurban669 Рік тому

    2:03 Пайтон написан на С? или на джава или на .NET? Советы: чтобы пройти собес надо говорить - интерпретатор CPython написан на С и еще нужно знать почему в интерпретаторе Jython нету GIL. Только от системы управления памятью конкретного интерпретатора зависит нужен GIL или еще что-то.

    • @luchanos
      @luchanos  Рік тому +3

      когда говорят про Python, то подразумевается реализация именно CPython. Об этом во всех книгах написано. А тем, кто разворачивает за такое надо обоссать лицо.

  • @zelakant1
    @zelakant1 8 місяців тому

    recpect

  • @azamtoiri
    @azamtoiri 2 роки тому

    крутой ролик, но вот такая вот штука, переписал твой код, но сколько бы раз я не перезапускал у меня все нормально. Нету как таковой ошибки как у тебя. И главный вопрос почему. Версия python 3.7

    • @luchanos
      @luchanos  2 роки тому

      привет! а какая у тебя ОС?

    • @azamtoiri
      @azamtoiri 2 роки тому

      @@luchanos windows 11

  • @g240596448
    @g240596448 2 роки тому +1

    Ммммм.... Аналог транзакционнных блокировок sql ?))

    • @Yarazny
      @Yarazny Рік тому

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

  • @Unknown-yt7zu
    @Unknown-yt7zu 6 місяців тому

    @Unknown-yt7zu
    0 seconds ago
    Что-то не получается повторить с ошибкой как в примере. Тысяча потоков на миллиард сложений - ни одной ошибки.
    А вот если потоки не джоинить - то ошибка появляется.