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

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

Пікірлер: 29

  • @AdenConor
    @AdenConor8 жыл бұрын

    Содержательный курс. Спасибо, Сергей!

  • @mistrebrown7642
    @mistrebrown76423 жыл бұрын

    Лучший курс по python, лучший лектор

  • @user-zy2cc2dq8r
    @user-zy2cc2dq8r8 жыл бұрын

    Спасибо за курс!

  • @yurkai
    @yurkai7 жыл бұрын

    -- Вот такая вот история! Отличный курс и лектор. Пс. Чиселка!

  • @rysbai-amanbai
    @rysbai-amanbai3 жыл бұрын

    Очень содержательный курс! Спасибо большое!

  • @sabirshakirov4034
    @sabirshakirov40344 жыл бұрын

    Один из немногих годных курсов по python, действительно полезно

  • @nicholasspezza9449

    @nicholasspezza9449

    Жыл бұрын

    соглашусь с вами из начала 2023

  • @valeriikuzivanov6832
    @valeriikuzivanov68325 жыл бұрын

    Спасибо, воистину годный контент!

  • @jeromewicks3896
    @jeromewicks38965 жыл бұрын

    45:32 - Модуль futures 55:15 - Параллелизм и конкурентность 1:14:15 - Модуль multiprocessing

  • @nicholasspezza9449

    @nicholasspezza9449

    Жыл бұрын

    глупый лакей

  • @annazhydko2459
    @annazhydko24594 жыл бұрын

    Огромное спасибо!

  • @user-te3vt5zc1e
    @user-te3vt5zc1e8 жыл бұрын

    Присоединяюсь, курс понравился. Перестал бояться метаклассов :)

  • @MrSvent0vit
    @MrSvent0vit4 жыл бұрын

    Отличная лекция

  • @radifkurbanov3026
    @radifkurbanov3026 Жыл бұрын

    16:25 - join называется, потому что идёт присоединение потока, у которого вызывали метод join, к вызывающему. А присоединиться он сможет, только когда завершит свою работу. Поэтому и join() ждёт, пока поток выполнится и после этого присоединит этот поток к вызывающему потоку.

  • @NickZhukovv
    @NickZhukovv7 жыл бұрын

    Сергей, спасибо за прекрасный курс лекций! Возможно, на слайде 32 есть небольшая неточность. Методу delayed необходимо передать еще один параметр: math.cos, но только если cos в intergrate "не зашит".

  • @slebedev

    @slebedev

    7 жыл бұрын

    Да, действительно. Спасибо!

  • @cyber.val3
    @cyber.val34 жыл бұрын

    Conditional locks. важно уточнить, что поток customer должен быть запущен после producer иначе customer захватит лок и будет ждать элементы бесконечно, а producer не сможет их создать потому, что лок захвачен. А также, вот этот второй while приведет к тому, что мы попытаемся wait на отпущенном локе (producer отпустил) что вызовет исключение. Потому он не нужен.

  • @user-nb5ih1dm7d

    @user-nb5ih1dm7d

    3 жыл бұрын

    Кажется, это не так. Даже если запустить consumer раньше, и он захватит блокировку, wait отпустит ее, пока не получит notify от другого треда (ну и release).

  • @radifkurbanov3026
    @radifkurbanov3026 Жыл бұрын

    26:47 - 27:17 - вообще-то, RLock имеет свой счётчик уровня рекурсии. И сделать релиз блокировки нужно ровно столько же раз, сколько мы сделали блокировок. Каждый вызов acquire() увеличивает этот счётчик на единицу, а каждый вызов release() уменьшает на единицу. Разблокировка произойдёт только тогда, когда этот счётчик будет равен нулю. Это в документации написано.

  • @usersbit
    @usersbit5 жыл бұрын

    41:40 - зачем вызывать в потоке функцию follow рекурсивно? Ведь можно было бы сделать внешим циклом, что позволило бы избежать переполнения стека.

  • @user-vf1jm9rr8t
    @user-vf1jm9rr8t Жыл бұрын

    Насколько я знаю, pipe -- это вовсе не "свой путь python", а инструмент IPC ОС. Может быть, питон его и использует под капотом или там реально какая-то своя реализация?

  • @usercommon1
    @usercommon12 жыл бұрын

    и gil запрещëнная в российской федерации организация

  • @structureandconquer
    @structureandconquer3 жыл бұрын

    Вспомнился анекдот про процесс: Гениколог: Раз аборт, два оборт - завтра еду на курорт Судья: Раз процесс, два процесс - завтра будет мерседес Учитель: Раз тетрадь, два тетрадь - есть чем ж.пу вытирать

  • @bambimbambas

    @bambimbambas

    3 жыл бұрын

    Ого, шутка, ничего себе. Сам додумался, или чёртов клуб шизоидов подсказал ?

  • @structureandconquer

    @structureandconquer

    3 жыл бұрын

    @@bambimbambas берите и делитесь дорогой Назар. Всех вам благ и компилируемого кода. П.с. Застрелитесь избавьте нас от ваших компетентных мнений

  • @nicholasspezza9449

    @nicholasspezza9449

    Жыл бұрын

    @@bambimbambas отличная шутка, а вы просто глупое быдло, строящее из себя не пойми что.

  • @glassyjam217
    @glassyjam217Ай бұрын

    Объясните колхознику, что криво-косо произнесённые английские слова в русской речи отвлекают от сути как если бы он рыгал каждую минуту

  • @user-hp7pc3lv3v
    @user-hp7pc3lv3v2 жыл бұрын

    Отличная лекция

Келесі