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

  Переглядів 34,574

Computer Science Center

Computer Science Center

8 років тому

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

КОМЕНТАРІ: 29
@AdenConor
@AdenConor 8 років тому
Содержательный курс. Спасибо, Сергей!
@mistrebrown7642
@mistrebrown7642 3 роки тому
Лучший курс по python, лучший лектор
@yurkai
@yurkai 7 років тому
-- Вот такая вот история! Отличный курс и лектор. Пс. Чиселка!
@user-zy2cc2dq8r
@user-zy2cc2dq8r 8 років тому
Спасибо за курс!
@sabirshakirov4034
@sabirshakirov4034 4 роки тому
Один из немногих годных курсов по python, действительно полезно
@nicholasspezza9449
@nicholasspezza9449 Рік тому
соглашусь с вами из начала 2023
@jeromewicks3896
@jeromewicks3896 5 років тому
45:32 - Модуль futures 55:15 - Параллелизм и конкурентность 1:14:15 - Модуль multiprocessing
@nicholasspezza9449
@nicholasspezza9449 Рік тому
глупый лакей
@rysbai-amanbai
@rysbai-amanbai 3 роки тому
Очень содержательный курс! Спасибо большое!
@valeriikuzivanov6832
@valeriikuzivanov6832 5 років тому
Спасибо, воистину годный контент!
@annazhydko2459
@annazhydko2459 4 роки тому
Огромное спасибо!
@user-te3vt5zc1e
@user-te3vt5zc1e 8 років тому
Присоединяюсь, курс понравился. Перестал бояться метаклассов :)
@MrSvent0vit
@MrSvent0vit 4 роки тому
Отличная лекция
@radifkurbanov3026
@radifkurbanov3026 Рік тому
16:25 - join называется, потому что идёт присоединение потока, у которого вызывали метод join, к вызывающему. А присоединиться он сможет, только когда завершит свою работу. Поэтому и join() ждёт, пока поток выполнится и после этого присоединит этот поток к вызывающему потоку.
@cyber.val3
@cyber.val3 4 роки тому
Conditional locks. важно уточнить, что поток customer должен быть запущен после producer иначе customer захватит лок и будет ждать элементы бесконечно, а producer не сможет их создать потому, что лок захвачен. А также, вот этот второй while приведет к тому, что мы попытаемся wait на отпущенном локе (producer отпустил) что вызовет исключение. Потому он не нужен.
@user-nb5ih1dm7d
@user-nb5ih1dm7d 3 роки тому
Кажется, это не так. Даже если запустить consumer раньше, и он захватит блокировку, wait отпустит ее, пока не получит notify от другого треда (ну и release).
@NickZhukovv
@NickZhukovv 7 років тому
Сергей, спасибо за прекрасный курс лекций! Возможно, на слайде 32 есть небольшая неточность. Методу delayed необходимо передать еще один параметр: math.cos, но только если cos в intergrate "не зашит".
@slebedev
@slebedev 7 років тому
Да, действительно. Спасибо!
@radifkurbanov3026
@radifkurbanov3026 Рік тому
26:47 - 27:17 - вообще-то, RLock имеет свой счётчик уровня рекурсии. И сделать релиз блокировки нужно ровно столько же раз, сколько мы сделали блокировок. Каждый вызов acquire() увеличивает этот счётчик на единицу, а каждый вызов release() уменьшает на единицу. Разблокировка произойдёт только тогда, когда этот счётчик будет равен нулю. Это в документации написано.
@usersbit
@usersbit 4 роки тому
41:40 - зачем вызывать в потоке функцию follow рекурсивно? Ведь можно было бы сделать внешим циклом, что позволило бы избежать переполнения стека.
@user-vf1jm9rr8t
@user-vf1jm9rr8t Рік тому
Насколько я знаю, pipe -- это вовсе не "свой путь python", а инструмент IPC ОС. Может быть, питон его и использует под капотом или там реально какая-то своя реализация?
@shardoff3532
@shardoff3532 2 роки тому
и gil запрещëнная в российской федерации организация
@structureandconquer
@structureandconquer 3 роки тому
Вспомнился анекдот про процесс: Гениколог: Раз аборт, два оборт - завтра еду на курорт Судья: Раз процесс, два процесс - завтра будет мерседес Учитель: Раз тетрадь, два тетрадь - есть чем ж.пу вытирать
@bambimbambas
@bambimbambas 3 роки тому
Ого, шутка, ничего себе. Сам додумался, или чёртов клуб шизоидов подсказал ?
@structureandconquer
@structureandconquer 3 роки тому
@@bambimbambas берите и делитесь дорогой Назар. Всех вам благ и компилируемого кода. П.с. Застрелитесь избавьте нас от ваших компетентных мнений
@nicholasspezza9449
@nicholasspezza9449 Рік тому
@@bambimbambas отличная шутка, а вы просто глупое быдло, строящее из себя не пойми что.
@glassyjam217
@glassyjam217 16 днів тому
Объясните колхознику, что криво-косо произнесённые английские слова в русской речи отвлекают от сути как если бы он рыгал каждую минуту
@user-hp7pc3lv3v
@user-hp7pc3lv3v 2 роки тому
Отличная лекция
GIL в Python: зачем он нужен и как с этим жить
56:24
ЧТО ДЕЛАТЬ, ЕСЛИ НЕ ХВАТАЕТ ДЕНЕГ НА ВОССТАНОВЛЕНИЕ ТАЧКИ?
47:52
ВИРУСНЫЕ ВИДЕО / Мусорка 😂
00:34
Светлый Voiceover
Переглядів 8 млн
Godzilla Attacks Brawl Stars!!!
00:39
Brawl Stars
Переглядів 6 млн
Python is NOT Single Threaded (and how to bypass the GIL)
10:23
Jack of Some
Переглядів 105 тис.
AsyncIO, await, and async - Concurrency in Python
9:12
Socratica
Переглядів 64 тис.
Про Kafka (основы)
49:23
Владимир Богдановский
Переглядів 341 тис.
ЧТО ДЕЛАТЬ, ЕСЛИ НЕ ХВАТАЕТ ДЕНЕГ НА ВОССТАНОВЛЕНИЕ ТАЧКИ?
47:52