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

  Рет қаралды 7,367

luchanos

luchanos

Күн бұрын

Поддержать:
www.donationalerts.com/r/luch...
boosty.to/luchanos
На других платформах:
/ luchanos
/ @luchanos
Канал «luchanos | Balabol IT» в Телеге - t.me/balabol_it
Присоединяйся к нашему чату в Телеге - t.me/luchanos_live_chat
Я в linkedin - www.linkedin.com/in/luchanos
Страница компании - / luchanos
0:00 Вступление
2:01 Начинаем разговор: краткий экскурс в историю Python
3:37 Сборщик мусора
5:00 Появление многоядерных систем и потоков
6:15 Потокобезопасное управление памятью
11:50 Пишем код: постановка проблемы
15:53 Что можно сделать для решения?
17:11 Появление GIL
22:22 GIL - не панацея!
22:48 Пишем код: когда GILа недостаточно
25:46 Почему так происходит?
30:00 Пишем код: Как решить проблему
31:50 Анонс
32:36 PS - Для чего придуман GIL?
34:27 Заключение
#ityoutubers #ityoutubersru

Пікірлер: 37
@denk2k
@denk2k 2 жыл бұрын
Как же круто, когда ты объясняешь на схемах в Miro. Такого практически никто не делает.
@luchanos
@luchanos 2 жыл бұрын
спасибо! я постараюсь ещё нарезать что-то вроде методичек как-нибудь
@Yarazny
@Yarazny Жыл бұрын
Николай, спасибо! Познавательно, глубоко, и интересно!
@user-bs6ey5iu2t
@user-bs6ey5iu2t Жыл бұрын
Благодарность от всей души!
@_garik__
@_garik__ Жыл бұрын
Офигеть! Очень круто и понятно объяснил, спасибо!
@zelenchuk.serhii
@zelenchuk.serhii Жыл бұрын
Спасибо!
@Miron_MipoX
@Miron_MipoX 5 ай бұрын
Первый раз свою ваш контент, прям вышка.
@MegaTraxxas
@MegaTraxxas 3 ай бұрын
excellent explanation of GIL role
@p.polunin
@p.polunin Жыл бұрын
Все очень доступно и понятно.
@ruslanboroda5145
@ruslanboroda5145 2 жыл бұрын
Огромная благодарность тебе!
@ahmadum
@ahmadum Жыл бұрын
Просто гигант! Все легло в башке как надо)
@donfedor007
@donfedor007 Жыл бұрын
Крутой ролик! Спасибо Вам!
@user-bf7cv8oh4b
@user-bf7cv8oh4b Жыл бұрын
Большое спасибо за видео
@user-yj2ou8qy5i
@user-yj2ou8qy5i Жыл бұрын
!!!! Идеально !!!!
@Anthony_Private
@Anthony_Private Жыл бұрын
лучшее видео на эту тему!!!
@user-wl4ne8qe9u
@user-wl4ne8qe9u 6 ай бұрын
теперь я на игле скорости 1.25, именно на этом видео я поднял дозу до 1.5
@arstudio7987
@arstudio7987 2 жыл бұрын
Thanks! 👍💪
@Sunwait-nsk
@Sunwait-nsk 7 ай бұрын
Thank you!
@user-ek3gb9sf6y
@user-ek3gb9sf6y 9 ай бұрын
здорово!
@01011968Desgner
@01011968Desgner 7 ай бұрын
Ошибку воспроизвести не удалось, GIL за год стал работать лучше?)))
@ivan_inanych
@ivan_inanych Жыл бұрын
Хоть кто то смог объяснить зачем нужен гил! От души
@user-bt7jp2wx9h
@user-bt7jp2wx9h Жыл бұрын
Спасибо! Наконец-то понял, зачем нужен GIL. Но у меня вопрос. Если вся эта история с GIL обусловлена риском перемешивания в стеке инструкций от разных потоков, то почему тогда нельзя переделать PVM? Почему нельзя использовать несколько стеков или придумать другой подход?
@luchanos
@luchanos Жыл бұрын
Как я понял это безбожно дорого
@n1k726
@n1k726 2 жыл бұрын
спасибо за материал! ты говоришь, что благодаря GIL однопоточные программы работают быстрее, а почему так? слышал такую информацию, но не понимаю, почему
@luchanos
@luchanos 2 жыл бұрын
Пожалуйста!! БЫстрее, потому что мы используем только 1 точку блокировки - GIL, а не тысячи тысяч где-то ещё)
@YGNETATEL_3000
@YGNETATEL_3000 17 күн бұрын
@@luchanos 26:15 Асуждаем !!!
@zelakant1
@zelakant1 4 ай бұрын
recpect
@doszhanm6936
@doszhanm6936 2 жыл бұрын
Я думал, что, если напишу функцию реквеста на некии адресс и выполню ее в 5 потоков, то все реквесты вылетят в одном моменте времени. Получается между каждым реквестом есть задежка?
@luchanos
@luchanos 2 жыл бұрын
об этом дам пояснению во второй части ролика) на самом деле задержка там минимальная, но она есть - обусловлена временем переключения между потоками. одно из условий высвобождения гил - это выполнение io операции потоком
@azamtoiri
@azamtoiri Жыл бұрын
крутой ролик, но вот такая вот штука, переписал твой код, но сколько бы раз я не перезапускал у меня все нормально. Нету как таковой ошибки как у тебя. И главный вопрос почему. Версия python 3.7
@luchanos
@luchanos Жыл бұрын
привет! а какая у тебя ОС?
@azamtoiri
@azamtoiri Жыл бұрын
@@luchanos windows 11
@ivankurban669
@ivankurban669 Жыл бұрын
2:03 Пайтон написан на С? или на джава или на .NET? Советы: чтобы пройти собес надо говорить - интерпретатор CPython написан на С и еще нужно знать почему в интерпретаторе Jython нету GIL. Только от системы управления памятью конкретного интерпретатора зависит нужен GIL или еще что-то.
@luchanos
@luchanos Жыл бұрын
когда говорят про Python, то подразумевается реализация именно CPython. Об этом во всех книгах написано. А тем, кто разворачивает за такое надо обоссать лицо.
@g240596448
@g240596448 Жыл бұрын
Ммммм.... Аналог транзакционнных блокировок sql ?))
@Yarazny
@Yarazny Жыл бұрын
все же в скл, транзакции ждать не будут в общем случае (если изоляция не сериалайз), а здесь потоки ожидают снятия блокировки. поэтому вроде и аналог, но вроде и не совсем
@Unknown-yt7zu
@Unknown-yt7zu 3 ай бұрын
@Unknown-yt7zu 0 seconds ago Что-то не получается повторить с ошибкой как в примере. Тысяча потоков на миллиард сложений - ни одной ошибки. А вот если потоки не джоинить - то ошибка появляется.
Потоки ненастоящие? GIL в Python
13:20
Python Clinic
Рет қаралды 1,3 М.
A pack of chips with a surprise 🤣😍❤️ #demariki
00:14
Demariki
Рет қаралды 35 МЛН
Threading Python # 1. Multithreading in Python with simple examples
14:55
ASYNCIO НА ПРАКТИЧЕСКОМ ПРИМЕРЕ
22:44
luchanos
Рет қаралды 26 М.
A pack of chips with a surprise 🤣😍❤️ #demariki
00:14
Demariki
Рет қаралды 35 МЛН