Тёмный

Многопоточность и GIL 

Computer Science Center
Подписаться 161 тыс.
Просмотров 35 тыс.
50% 1

Модули threading, queue и concurrent.futures. Использование потоков для параллельных вычислений на Python. GIL. Параллельность и конкурентность. Модуль asyncio. Модуль multiprocessing.
Лекция №13 в курсе "Python" (осень 2015).
Преподаватель курса: Сергей Лебедев
Страница лекции на сайте CS центра: goo.gl/fvCCpJ

Опубликовано:

 

9 дек 2015

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 29   
@AdenConor
@AdenConor 8 лет назад
Содержательный курс. Спасибо, Сергей!
@mistrebrown7642
@mistrebrown7642 3 года назад
Лучший курс по python, лучший лектор
@sabirshakirov4034
@sabirshakirov4034 4 года назад
Один из немногих годных курсов по python, действительно полезно
@nicholasspezza9449
@nicholasspezza9449 Год назад
соглашусь с вами из начала 2023
@yurkai
@yurkai 7 лет назад
-- Вот такая вот история! Отличный курс и лектор. Пс. Чиселка!
@user-zy2cc2dq8r
@user-zy2cc2dq8r 8 лет назад
Спасибо за курс!
@jeromewicks3896
@jeromewicks3896 5 лет назад
45:32 - Модуль futures 55:15 - Параллелизм и конкурентность 1:14:15 - Модуль multiprocessing
@nicholasspezza9449
@nicholasspezza9449 Год назад
глупый лакей
@rysbai-amanbai
@rysbai-amanbai 3 года назад
Очень содержательный курс! Спасибо большое!
@radifkurbanov3026
@radifkurbanov3026 2 года назад
16:25 - join называется, потому что идёт присоединение потока, у которого вызывали метод join, к вызывающему. А присоединиться он сможет, только когда завершит свою работу. Поэтому и join() ждёт, пока поток выполнится и после этого присоединит этот поток к вызывающему потоку.
@valeriikuzivanov6832
@valeriikuzivanov6832 6 лет назад
Спасибо, воистину годный контент!
@user-te3vt5zc1e
@user-te3vt5zc1e 8 лет назад
Присоединяюсь, курс понравился. Перестал бояться метаклассов :)
@radifkurbanov3026
@radifkurbanov3026 2 года назад
26:47 - 27:17 - вообще-то, RLock имеет свой счётчик уровня рекурсии. И сделать релиз блокировки нужно ровно столько же раз, сколько мы сделали блокировок. Каждый вызов acquire() увеличивает этот счётчик на единицу, а каждый вызов release() уменьшает на единицу. Разблокировка произойдёт только тогда, когда этот счётчик будет равен нулю. Это в документации написано.
@MrSvent0vit
@MrSvent0vit 4 года назад
Отличная лекция
@annazhydko2459
@annazhydko2459 4 года назад
Огромное спасибо!
@NickZhukovv
@NickZhukovv 7 лет назад
Сергей, спасибо за прекрасный курс лекций! Возможно, на слайде 32 есть небольшая неточность. Методу delayed необходимо передать еще один параметр: math.cos, но только если cos в intergrate "не зашит".
@slebedev
@slebedev 7 лет назад
Да, действительно. Спасибо!
@cyber.val3
@cyber.val3 4 года назад
Conditional locks. важно уточнить, что поток customer должен быть запущен после producer иначе customer захватит лок и будет ждать элементы бесконечно, а producer не сможет их создать потому, что лок захвачен. А также, вот этот второй while приведет к тому, что мы попытаемся wait на отпущенном локе (producer отпустил) что вызовет исключение. Потому он не нужен.
@user-nb5ih1dm7d
@user-nb5ih1dm7d 3 года назад
Кажется, это не так. Даже если запустить consumer раньше, и он захватит блокировку, wait отпустит ее, пока не получит notify от другого треда (ну и release).
@usersbit
@usersbit 5 лет назад
41:40 - зачем вызывать в потоке функцию follow рекурсивно? Ведь можно было бы сделать внешим циклом, что позволило бы избежать переполнения стека.
@user-vf1jm9rr8t
@user-vf1jm9rr8t Год назад
Насколько я знаю, pipe -- это вовсе не "свой путь python", а инструмент IPC ОС. Может быть, питон его и использует под капотом или там реально какая-то своя реализация?
@usercommon1
@usercommon1 2 года назад
и gil запрещëнная в российской федерации организация
@structureandconquer
@structureandconquer 3 года назад
Вспомнился анекдот про процесс: Гениколог: Раз аборт, два оборт - завтра еду на курорт Судья: Раз процесс, два процесс - завтра будет мерседес Учитель: Раз тетрадь, два тетрадь - есть чем ж.пу вытирать
@bambimbambas
@bambimbambas 3 года назад
Ого, шутка, ничего себе. Сам додумался, или чёртов клуб шизоидов подсказал ?
@structureandconquer
@structureandconquer 3 года назад
@@bambimbambas берите и делитесь дорогой Назар. Всех вам благ и компилируемого кода. П.с. Застрелитесь избавьте нас от ваших компетентных мнений
@nicholasspezza9449
@nicholasspezza9449 Год назад
@@bambimbambas отличная шутка, а вы просто глупое быдло, строящее из себя не пойми что.
@glassyjam217
@glassyjam217 Месяц назад
Объясните колхознику, что криво-косо произнесённые английские слова в русской речи отвлекают от сути как если бы он рыгал каждую минуту
@user-hp7pc3lv3v
@user-hp7pc3lv3v 2 года назад
Отличная лекция