Конкурентность и параллельность

  Рет қаралды 5,061

Python Russian

Python Russian

8 ай бұрын

Подкрадываясь к асинхронному, многопоточному и параллельному коду нужно сначала изучить основы и понять используемые термины.
Конкурентность (concurrency) - запуск на выполнение сразу нескольких задач (не обязательно в 1 момент времени выполняется несколько). Зависит от ПО. Первые ОС с процессором без ядер -использовали только ее.
Параллельность (parallel) - конкурентность, когда 2+ задачи выполняются одновременно. Зависит от железа. Вы не можете одновременно (!) выполнять больше задач, чем есть ядер в системе.
GIL (Global Interpreter Lock) - глобальная блокировка интерпретатора, механизм гарантирующий, что в любой момент времени выполняется только 1 инструкция в питоне.
Задачи для Python могут быть:
CPU-bound - зависит от мощности процессора
IO-bound - зависит от системы ввода/вывода
threading - IO-bound задачи
asyncio - IO-bound задачи
multiprocessing - любые задачи
Читать!
Фаулер М. "Asyncio и конкурентное программирование на Python"
docs.python.org/3/glossary.ht...
docs.python.org/3/c-api/init....
Присоединяйтесь к помощи каналу, будет интересно)
✔️Бусти boosty.to/python_russian/donate
✔️Юмани 410011506612886
Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
#Python #PythonRussian #PyCharm

Пікірлер: 65
@PythonRussian
@PythonRussian 8 ай бұрын
Друзья, не забывайте подписываться, даже если вам не понравилось =)
@user-bb8us6dz3i
@user-bb8us6dz3i 8 ай бұрын
Ты лучший,спасибо тебе ❤
@bason2174
@bason2174 8 ай бұрын
привет, как можно стать спонсором канала? Твои объяснения лучшие что я видел
@PythonRussian
@PythonRussian 8 ай бұрын
@@bason2174 тут проблема - спонсором можно стать только за рубежом, в РФ или РБ ты можешь помочь только на кошелек Юмани(410011506612886), Ютуб не даст тебе спонсировать канал. У меня еще остались спонсоры в ютубе, но видимо они из-за границы, иначе не понимаю как они платят.
@golokwen7622
@golokwen7622 7 ай бұрын
@@PythonRussian
@user-os8iy9wj2s
@user-os8iy9wj2s 19 күн бұрын
Так приятно послушать правильно поставленную речь по глубоко осмысленной автором теме. С первых секунд лайк ❤ Была задача вычислительная и я никак не мог понять почему treading не работает =)))
@Anton16180
@Anton16180 2 ай бұрын
Не перестаю удивляться малому количеству просмотров на канале, тогда как это наиболее полезная информация что я видел, в сравнении со всевозможными Диджитализируй и даже Балакиревым
@PythonRussian
@PythonRussian 2 ай бұрын
все же в ваших руках) если будете ставить лайки, подписываться и делиться - станет больше просмотров
@GrabsOrion
@GrabsOrion 18 күн бұрын
Актуальные видосы спасибо
@soldiertoy
@soldiertoy 8 ай бұрын
Спасибо тебе, родной. Очень благодарен тебе за твой труд. Я искренне сожелею, что канал медленно развивается. На мой взгляд, тебе нужно развивать свой телеграм, бусти, проводить стримы. Если есть желание развиваться в этом направлении. У тебя отменный талант объяснять. Лично я, готов платить за такое, хоть и денег нет, но такая подача должна стоить денег, подумай об этом. Всех благ тебе, а я жду новое видео)
@_roket
@_roket 7 ай бұрын
ты давай тут не это... денег это у капиталистов стоит, а люди должны помогать друг другу ради продолжения помощи друг другу, что бы не быть животными. А то с вашими деньгами, детям не делают операции, просто потому что хороший хирург привык получать лям баксов в месяц, а других хороших мало, потому как учителя хреновые но денег хотят, в итоге те кто готовы делать операции не дорого просто не умеют. Так что засунь деньги в дырку для денег. Или просто молча скинь, но не агитируй. подсадили дураков на деньги. Современные деньги в современном мире, в мире людей не понимающих откуда появляются деньги, это зло.
@Guerrero_Blanco
@Guerrero_Blanco 8 ай бұрын
Привет из ДВ у нас тоже пасмурно ) Спасибо за то что ты на безвозмездной основе даёшь уроки для начинающих. Желаю развития твоему каналу.
@user-em9sc8ei7u
@user-em9sc8ei7u 8 ай бұрын
Я уже думал не дождусь нового видео, огромнейшее спасибо вам за ваш труд) Достаточно длинные уроки, но на одном дыхании смотрится просто. Отдельное спасибо, что к каждому ролику всегда дополнительную справочную информацию какую-то прилагаете, либо документацию, либо книги крутые советуете. В общем, вы прекрасный преподаватель, обязательно продолжайте в том же духе! По возможности хотелось бы слышать вас почаще)
@yerlanakhmetov6028
@yerlanakhmetov6028 8 ай бұрын
Спасибо большое что продолжайте выпускать видео
@logi3313
@logi3313 Ай бұрын
Спасибо за шикарный плейлист по питону. У вас одни из самых лучших видео в ру сегменте =)
@oksanakot4624
@oksanakot4624 Ай бұрын
Две недели пытаюсь понять эту тему, это лучшее объяснение, что я видела, спасибо
@lukasmog777
@lukasmog777 8 ай бұрын
Спасиб за доступное объяснение! Жду продолжение по данной теме, а также видосы по каждой либе
@user-ll2ev4zg7z
@user-ll2ev4zg7z 8 ай бұрын
Все ясно и доступно изложено, замечательный материал! Спасибо!
@bogdanfedochenko527
@bogdanfedochenko527 8 ай бұрын
подробненько 👍👍, Спасибо
@orion_1223
@orion_1223 8 ай бұрын
На одном дыхании) Давно ждал видео на эти темы) Жду продолжения😊
@user-hq3ri7ui7l
@user-hq3ri7ui7l 8 ай бұрын
Замечательная подача материала, очень благодарен и спасибо, бро)
@Developer_python_
@Developer_python_ 8 ай бұрын
Thanks a lot. It's very useful
@di.n.1906
@di.n.1906 8 ай бұрын
Спасибо за видео. Заждались вас )))
@user-tb2jp7kg2c
@user-tb2jp7kg2c 8 ай бұрын
Большое спасибо!
@user-sd9zx5pj7h
@user-sd9zx5pj7h 8 ай бұрын
Спасибо большое за материал. Ждем видео по asyncio)
@tutobab
@tutobab 8 ай бұрын
Кстати, из видео не очевидно, что если вычисления заменить на time.sleep(1) - то эффект будет как в случае с отправкой запроса, т.е IO операция. Учтите это, при просмотре других видосов. Только CPU-bound операции вскроют суть GIL.
@anatolyiredko9817
@anatolyiredko9817 8 ай бұрын
Спасибо за видео! Благодаря твоим роликам уже как 3 месяца работаю python-разработчиком! Тема асинхронности очень интересная, по твоему совету начал читать книгу Мэтью Фаулера, но пока сложновато ,осилил только 4 главы.На Урале за окном пасмурно! Подтверждаю!
@anatolyiredko9817
@anatolyiredko9817 8 ай бұрын
@@user-cm1ri1sn2uРаботаю на бэке, пишим на FastAPI. Видео как дополнительный источник для обучения конечно же, но такие темы как декораторы и замыкания понял и освоил благодаря этому каналу. Из источников видео, книги, "бесплатные" торрент курсы.
@justpochta
@justpochta 5 ай бұрын
@@user-cm1ri1sn2uзависит от офера: иногда нужен обычный питон-кодер, реализующий функционал по подробному ТЗ.
@eyeseyeseyes3555
@eyeseyeseyes3555 6 ай бұрын
Самое толковое объяснение, спасибо!
@alexrun2099
@alexrun2099 8 ай бұрын
👍
@bason2174
@bason2174 6 ай бұрын
Можешь пожалуйста сделать видео про библиотеку pydentic , там очень много возможностей и с твоими объяснениями это было бы очень полезно
@Miron_MipoX
@Miron_MipoX 8 ай бұрын
всегда жду твои видео с предвкушением.👀
@user-sm8ru2fx9t
@user-sm8ru2fx9t 5 ай бұрын
спасибо огромное за ваш труд! было бы здорово посмотреть ролик о рекурсии от вас, очень непростая для понимания тема
@user-hy4pz9fo9k
@user-hy4pz9fo9k 7 ай бұрын
Рекурсия будет? Спасибо за крутые Видосы!!!
@PythonRussian
@PythonRussian 7 ай бұрын
если бы питон был функциональным ЯП то можно бы было, а так даже не знаю что про нее рассказать...Подумаю
@r1seup127
@r1seup127 8 ай бұрын
Ядер или потоков процессов?
@x-user-agent
@x-user-agent 8 ай бұрын
а есть вопрос, переодичски возникает когда что-то с тредингом или асинхронное делаю - если из потока (или корутины) вызывается внешняя функция у нее на каждый такой вызов (если их несколько из разных потоков например) свой контекст создается? или пока она не закончит работу второй ее вызов не возможен (питон не дает ее вызвать)?
@PythonRussian
@PythonRussian 8 ай бұрын
функция это просто объект, его можно вызывать конкурентно и параллельно (то есть одновременно на разных ЦПУ). НО )и это огромное НО, так будет работать только читая функция, я говорил о них в правилах хорошей функции. То есть функция которая не меняет ничего вне себя и работает только со своими аргументами, такая функция может работать в потоках без проблем.
@user-cw7bs1uc5g
@user-cw7bs1uc5g Ай бұрын
Полезно. А можно видео про кодировки, с акцентом на Python?
@PythonRussian
@PythonRussian Ай бұрын
уточните что имеете в виду, не совсем понял что можно про кодировки сказать.
@user-cw7bs1uc5g
@user-cw7bs1uc5g Ай бұрын
@@PythonRussian Про то как кодировки работают ( базово ), как используются / можно использовать кодировки, ( на пример при передаче данных ) и т.п.
@Miron_MipoX
@Miron_MipoX 7 ай бұрын
про конкурентность и параллельность есть! subprocess буду ждать) 🙃
@PythonRussian
@PythonRussian 7 ай бұрын
сабпроцесс вряд ли будет, но в целом мультипроцессинг можно обсудить
@Miron_MipoX
@Miron_MipoX 6 ай бұрын
будет крайне интересно. про asynio в том числе) @@PythonRussian
@vegzuzvegzuz2866
@vegzuzvegzuz2866 8 ай бұрын
Материал отличный! Получается в питоне многопоточность и асинхронность в IO bound по производительности похожи? И ещё сбило с толку что в начале речь про многопроцессорность и резкий переход на трединг. И разве не может быть мултитрединга в одно ядерном процессоре?
@PythonRussian
@PythonRussian 8 ай бұрын
да похожи, многопоточность вообще не хуже асинхронки по скорости, зависит от того что и как тестировать. В одноядерном процессоре может быть только конкурентность (не параллельность), то есть конечно ты сможешь запустить там пул потоков, но никогда не получишь 2 реально параллельные задачи, процессор будет переключаться между ними. Для ИО-баунд задач это будет выигрышем пусть и небольшим (если нет ядер). То есть мультитрединг != паралелльность, так как она зависит от железа, а в питоне еще и от типа задачи (ГИЛ заблокирует). Но мультитрединг = конкурентность.
@swanstrok
@swanstrok 3 күн бұрын
Спасибо за видео, при использовании потоков с математическими расчетами, не то что выигрыша (пусть и незначительного) по времени, а в 1.5-2 раза дольше выполняется чем при последовательном коде, может подскажете в чем может быть причина?
@PythonRussian
@PythonRussian 3 күн бұрын
приина в ГИЛ, он не дает параллельно работать, это рассмотрено тут и в видео про многопоточность. как вариант использовать специализированные библиотеки (numpy, scipy) или процессы
@swanstrok
@swanstrok 3 күн бұрын
@@PythonRussian я понял, тут вопрос не в том, почему выигрыша нет по времени, а в том, почему наоборот дольше по времени выполняется. Видео по многопоточности еще не смотрел, может там ответ на этот вопрос будет. Спасибо за информацию)
@user-yb9ni4hi5q
@user-yb9ni4hi5q 7 ай бұрын
Какой голос няшный :з
@PythonRussian
@PythonRussian 7 ай бұрын
я и сам еще ого-го XD
@user-yb9ni4hi5q
@user-yb9ni4hi5q 7 ай бұрын
@@PythonRussian заценить бы :)
@01011968Desgner
@01011968Desgner 7 ай бұрын
вопрос по термину "concurrency" - он точно про конкурентность? Посмотрел в нескольких переводчиках: переводится с английского языка как "согласие", "одновременность", "параллелизм"...
@PythonRussian
@PythonRussian 7 ай бұрын
точно, веб тоже в некоторых переводчиках будет просто паутина.
@01011968Desgner
@01011968Desgner 6 ай бұрын
@@PythonRussian ок, давайте зайдем с другой стороны. Подскажите правильный переводчик, в котором можно увидеть перевод concurrency как параллелизм
@PythonRussian
@PythonRussian 6 ай бұрын
@@01011968Desgner , все видео посвящено тому, что канкарренси и параллелизм это разные вещи, их часто путают и у нас и в англоязычном сегменте. В подписи есть книга, ознакомьтесь, там тоже отдельно описана разница.
@01011968Desgner
@01011968Desgner 6 ай бұрын
@@PythonRussian так я разве против? Просто даже в Оксфордском словаре нет ничего про конкурентность среди значений этого слова, а это, как минимум, удивительно P.S.И я никак не пытаюсь что-то оспаривать если что, просто странный факт.
@Chel1k7
@Chel1k7 8 ай бұрын
Сними серию про solid
@PythonRussian
@PythonRussian 8 ай бұрын
сниму, но она не всем понравится)
@tutobab
@tutobab 8 ай бұрын
@@PythonRussian вы не $100, чтобы всем нравиться. Будем ждать серию про SOLID
@galogramma8461
@galogramma8461 14 күн бұрын
В целом все круто, спасибо. НО!!!! Передавать сигнал быстрее скорости света возможно. Это называется "Квантовая запутанность". На основании этого принципа сейчас работают квантовые компутеры. И, это не какое-то там фантастическое будущее, а уже прошлое.
@PythonRussian
@PythonRussian 13 күн бұрын
это будет прошлым, когда твой персональный компьютер будет это использовать, а пока ...
@Chel1k7
@Chel1k7 6 ай бұрын
Бро ну что ты пропал? тасками на работе завалили ??
@PythonRussian
@PythonRussian 6 ай бұрын
именно так((( перед Новым годом всегда так, в запаре я пока
Паттерн Singleton (Одиночка) в Python
36:55
Python Russian
Рет қаралды 10 М.
Основы многопоточности в Python
58:46
Python Russian
Рет қаралды 4,1 М.
OMG 😨 Era o tênis dela 🤬
00:19
Polar em português
Рет қаралды 9 МЛН
La final estuvo difícil
00:34
Juan De Dios Pantoja
Рет қаралды 26 МЛН
Did you find it?! 🤔✨✍️ #funnyart
00:11
Artistomg
Рет қаралды 119 МЛН
Unlocking your CPU cores in Python (multiprocessing)
12:16
mCoding
Рет қаралды 290 М.
Основы Asyncio
53:25
Python Russian
Рет қаралды 10 М.
Более ПРАВИЛЬНО моделируем в SolidWorks
14:03
Евгений Дьяченко
Рет қаралды 4,4 М.
Multiprocessing: используем все ядра
27:50
Python Russian
Рет қаралды 1,7 М.
Атрибуты класса, classmethod и staticmethod
44:40
Python Russian
Рет қаралды 4,7 М.
Список и кортеж
37:46
Python Russian
Рет қаралды 4 М.
Главная тайна IT, язык Smalltalk
18:50
Python Russian
Рет қаралды 3,2 М.
Всё про конкурентность в Go
23:36
defer panic
Рет қаралды 12 М.