GIL в Python: зачем он нужен и как с этим жить
ฝัง
- เผยแพร่เมื่อ 11 พ.ย. 2013
- Григорий Петров
12 сентября 2013
Moscow Django Meetup № 14
В своем докладе Григорий проведет краткий экскурс в историю потоков и расскажет, зачем был создан GIL. Будут рассмотрены практические вопросы многопоточности в Python и способы работы с GIL.
Слайды выступления: www.moscowpython.ru/meetup/14/...
Спонсор подкаста: Курсы Python для новичков (learn.python.ru) и продвинутые курсы - learn.python.ru/advanced/ - วิทยาศาสตร์และเทคโนโลยี
Потрясающе поставленная речь! Отличный материал, отличная подача, прошу, еще!
Милый человек, дай бог тебе здоровья за столь глубокий и детальный рассказ! низкий поклон!
Moscow Python z
Охренеть, Григорий! Я был знаком с Вами лишь по подкастам - слышал только Ваш голос. А тперь могу лицезреть Ваш визуальный образ! Приятно познакомится!
Шикарная манера повествования :)
лучшее видео про gil в ютубе, даже несмотря на то, что ему уже девять лет))
9 лет лекции, в 2023 смотрю и получаю море полезной инфы
Я в шоке, никогда так легко и интересно не заходило. Григорий человек магнит. Примеры расставлены грандиозно, вставки личного опыта. Час как 5 минут, побольше бы таких встреч, спасибо вам большое.))))
поставлены все точки над GIL, интересно и спасибо за ваш труд)
Приятно слушать.
Не, ну это не рассказ... Это гордая песнь. Слушается на одном дыхании. Не возможно оторваться от всецело захватывающего повествования!
Вот это доклад! интереснейшая подача материала)
Отличный рассказ, лучший. Вы проникаете в самый фундамент работы программ, потоков и начинаете подниматься вверх тем самым собирая воедино настоящий механизм работы интерпретатора Python. Я б тоже самое сделал только просидел бы несколько недель в гугле и на форумах. Рад, что есть кто-то, кто умеет задавать правильные вопросы сам себе в понимании того как действительно работает код. Удачи вам)))
Огромная благодарность Григорию)) Часто слушаю подкасты с ним из серии Москов Пайтон Подкаст. Расту с вами, товарищи)) От умных людей говорят становишься умным)
Лучший спикер, которого я слышал. Час прошел на одном дыхании
Очень круто! Спасибо большое.
Большое спасибо! Помогло структурировать имеющиеся знания и заполнить пробелы.
Супер! С удовольствием посмотрел бы и другие выступления.
Хороший лектор! И слайды интересные
Шикарный доклад, идеальный просто
Шик ) Спасибо огромное Григорию и MPython )
GIL у процессов есть, просто он свой для каждого процесса. Спасибо за доклад.
очень-очень доступно,спасибо)
Здорово рассказано!
Очень рад за Гришу, что он похудел.
Хороший рассказчик!
Спасибо за понятную лекцию)
Подпишусь на канал!
Именно то, чего мне не хватало!
докладчик супер
Класный лектор, лайк однозначно.
Григорий, красавчик!
Супер!!!
Бывший коллега :)
Маэстро, ещё!
я в 2020 году смотрю, в новых видео Григорий другой))
жизненно!)))
10 лет спустя.... Он был прав)))
a in xrange(10**8) выполняется мнгновенно, вероятно имелось ввиду a in range(10**8), который генерит список чисел
xrange был в python 2
range же генерит итератор. Иначе бы памяти просто не хватило на такой список
Ошибаешься, xrange выполнялся гораздо дольше чем range в 3-ем питоне, тк он создавал список с этими значениями, а range это генератор
Не могу найти ничего про "механизм поднятия GIL". Как он называется на английском?
Момент про поднятие GIL в numpy не понял. Поднятие - имеется в виду блокировка? Или наоборот отпускает и дает возможность работать другому потоку?
Чет не понял как оно переключается 5мс если в Windows переключает потоки с интервалом ~20мс Как такое получается? Еще нужно разбудить поток и заслипить, возможно еще что-то залочить.
А если первый поток как раз на 5 миллисекунде (или на 100-м тике) делает проверку a > 0 и этот поток засыпает, затем просыпается второй поток и меняет значение a. Что происходит в таком случае?)
Узнали за эти 9 месяцев? Я предполагаю что интерпретатор может упасть, если тик не доведён до конца и после сна поменялись данные, с которыми он работал в рамках тика. А ваш сценарий возможен, но это будет лишь логическая ошибка, от которых gil не защищает. Это на откуп разработчика.
Не понял. GIL не зашищает от логических ошибок где a>0 там в примере. Но а если там логическая ошибка в том что массив теперь стал пустым, а с него что то попытаются взять. Интерпритатор же упадет. А gil якобы защищает от падения
Православный питон ))
Всем привет! кто-нибудь понял о каком авторе и его статье про GIL идёт речь? хочу почитать)
Вадим Шандринов 51:35
кто это ?
ахах норм обьяснил
Программисты знают только два числа: ноль и много 🤣
Это Понасенков от мира Python
Браво, маэстро!
Ого каким пухляшом был Григорий, худым лучше !
С каких пор процессы стали более правильным способом организации многозадачности, чем потоки? И та же апелляция к тому, что так в Linux. Это как раз и есть большой косяк всех Unix-like систем, потому, что они проектировались как принципиально однозадачные системы, в отличие от Windows NT.
Лекция для колхозников. Лектор:
- Товарищи колхозники. Перед вами череп Александра Македонского,
где ему 7 лет. А вот этот череп, где ему 25 лет. И, наконец,
череп умершего Александра Македонского. Вопросы есть?
Есть:
- Скажите, пожалуйста, как может быть у одного человека три черепа?
- А вы, простите, кто? - спрашивает лектор.
- Дачник.
- Вот и идите на хер. Лекция для колхозников.
Уважаемый критик, если вы ещё читаете комментарии, как так получается, что все подавляющее большинство серверов на линуксе? По идее Windows nt тогда следуя вашей логике должна победить.. Или в чём тут дело?
Спустя 10 лет от этой лекции python такой ну ок pep 703.