Основы многопоточности в Python

  Рет қаралды 3,783

Python Russian

Python Russian

5 ай бұрын

Продолжая тему конкурентности и параллелизма посмотрим на старые добрые потоки.
multithreading - многопоточность, подходит для IO-bound задач, использует ОС, страдает от GIL (важно помнить)
Полезно для ускорения выполнения задач или для того, чтобы текущий поток занялся другой задачей
Любая программа это минимум один процесс и один поток
Полезно использовать daemon=True, очереди, pool exeсutor, НО в любом случае все зависит от программиста!
Плюсы:
+ просто(сравнительно)
+ быстро
+ не умирает из-за одного(!)
Минусы:
- потребление ресурсов (ОС)
- неуправляемость (старт, приостановка, переключение)
- проблемы потоков (гонка, блокировки)
Читать:
docs.python.org/3.10/library/...
docs.python.org/3.10/library/...
Фаулер М. "Asyncio и конкурентное программирование на Python"
Присоединяйтесь к помощи каналу, будет интересно)
✔️Бусти boosty.to/python_russian/donate
✔️Юмани 410011506612886
Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
#Python #PythonRussian #PyCharm

Пікірлер: 30
@PythonRussian
@PythonRussian 4 ай бұрын
Друзья, к сожалению предновогодняя пора - это время залатать дыры и отрелизить все , что можно, времени нет совсем. Но надеюсь до Нового года еще одно видео сниму. Не забывайте подписаться на канал и всем удачи.
@databox4279
@databox4279 4 ай бұрын
Удачи и Вам. Огромная благодарность, что находите время для создания новых роликов.
@PythonRussian
@PythonRussian 4 ай бұрын
ребят, я не удаляю никаких коментариев, кроме совсем уже отмороженных, если ваш коммент удален, то вы или код какой то там прицепили или ссылку или мат там есть, Ютуб удаляет сам. Просто вижу в почте мне пишут, что я мол удаляю комменты, это не я =)
@MrVovak85
@MrVovak85 4 ай бұрын
Спасибо за проделанную работу!
@user-tb2jp7kg2c
@user-tb2jp7kg2c 3 ай бұрын
Спасибо за видео! Очень полезно
@ilyaukhlin3501
@ilyaukhlin3501 Ай бұрын
Спасибо большое за видео)
@ypohut1673
@ypohut1673 3 ай бұрын
Коммент в поддержку🎉
@non5309
@non5309 4 ай бұрын
Хороший выпуск. Пул потоков тоже создает потоки, там все те же низкоуровневые обращения к ОС, просто они могут быть переиспользованы (вызывать задачу несколько раз с разными наборами аргументов). В остальном - замечательное видео.
@marinatsoy6779
@marinatsoy6779 4 ай бұрын
В вашем объяснении все начинает играть другими красками)
@user-hg1no6mz8y
@user-hg1no6mz8y 4 ай бұрын
Здравствуйте! Ваш канал - жемчужина из себе подобных. Благодарю за подробное объяснение. Я начинающий в этой сфере и пытаюсь своими силами изучить Питон в свободное от работы время. Могли бы записать видео о фреймворках? Например Джанго. Спасибо.
@Miron_MipoX
@Miron_MipoX 4 ай бұрын
Для таких тем нужно не запись в 50 минут, а вебинар на 8 часов) с тестами, с ООП, с архитектурой. с использованием различный паттернов. Можно реальную лекцию подготовить) Так же конечно можно рассказать что бывают и RLock и что все это может работать с контекстным менеджером) А еще бывают семафоры, барьеры и куча всего бескрайнего) Провести аналогии с multiprocessinig, то как одни могут порождать других. И все это весьма интересно и Автор конечно прав, это вершина айсберга и нужно глубоко самому погружаться в вопрос. На русском языке в сети скудно с данной инфой, к сожалению.
@non5309
@non5309 4 ай бұрын
дофига, вы просто плохо искали
@Miron_MipoX
@Miron_MipoX 4 ай бұрын
Супер интересная тема. Когда изучал, случился очередной инсайд. Автор говорит что это сложная тема, даже для олдов. Но на удивление, сейчас это требуются даже от джунов, но это не означает что это просто))
@non5309
@non5309 4 ай бұрын
асинхронку, потоки спрашивают похоже вообще все теперь. Даже если в вакансии про это не слова.
@PythonRussian
@PythonRussian 4 ай бұрын
от джунов требуют скорее какого то представления об этом, как минимум про ГИЛ всегда спрашивают.
@non5309
@non5309 4 ай бұрын
@@PythonRussian вот что спрашиваем мы и спрашивают другие по этой теме: системные вызовы, GIL, виды операций, концепция асинхронного программирования. потоки/процессы с точки зрения различий, межпроцессное взаимодействие, сигналы, прерывания, планировщик ОС. Это минимум, если человек плавает и не знает этих основ, то пока.
@yerlanakhmetov6028
@yerlanakhmetov6028 4 ай бұрын
CFBR
@Chel1k7
@Chel1k7 2 ай бұрын
что можешь сказать про либу gevent? она вроде бы убирает gil
@PythonRussian
@PythonRussian 2 ай бұрын
ничего не скажу, когда то давно слышал, до прихода асинкио про гевент и торнадо, с тех пор не на слуху, надо разбираться что она и как делает.
@hdhdjdjdjjd1263
@hdhdjdjdjjd1263 2 ай бұрын
Привет, можешь рассказать что нужно знать, чтобы писать веб и стать джуном на питоне
@PythonRussian
@PythonRussian 2 ай бұрын
тут разговор на целое видео, постараюсь запланировать на весну =)
@non5309
@non5309 4 ай бұрын
потоки, процессы сложные если разбираться без практики. На степике есть курсы по этой теме с практикой. Не скиллбокс и ЯП за стопицот денег а адекватные.
@quansumonner
@quansumonner 4 ай бұрын
Сэр, мне нужно мнение эксперта, и ваши навыки не вызывают сомнений. Как вы относитесь к накрутки опыта в разработке? Если другие варианты? У меня сейчас 2 резюме и единственное, что в них различается, это количество опыта, но на одном 2 отлика (о опыта), а на другом 26 (1.6 опыта).
@PythonRussian
@PythonRussian 4 ай бұрын
а как вы отнесетесь, если вам продадут машину со скрученным счетчиком? Нехорошо это, я против, это же обман, причем такой, который вскроется. У меня много знакомых в рекрутинге и они мне каких только историй не рассказывали, включая и прохождение собеса одним человеком, а на работу пришел другой. Не надо так, сделай крутой пет-проект, добавь его в резюме, не откликайся на все подряд, добавься в линке к тысяче ХР - вот это поможет. и не переставай учиться
@quansumonner
@quansumonner 4 ай бұрын
​@@PythonRussian Спасибо за ответ. Насчёт машины пример неподходящий, у меня нет прав. Проблема в том, что у меня есть pet-проекты: начиная от простенького: 'сервиса бранирования', Чат-бота по спортивной тиматики( который 'крадёт' идеи у некоторых блогеров, всё в открытом доступе), заканчивая своей библиотекой для NLP ( кое-что позаимствовал у Chainer). И при этом у меня Experts(это ранг) на Kaggle, да это не мастер(это в процесе), но всё же. Я даже не знаю, что ещё сделать:) Не очень кайфово, когда проходишь интвью во 'фейку', а по реальному тупо не зовут. И я получил 8( из 11), но отклоняю. Не хочу врать, но у меня уже стадия принятия:) "мне рассказывали, включая и прохождение собеса одним человеком, а на работу пришел другой" - Кошмар! Учится нужно всегда - это база! Извените за обилие текса. Спасибо!
@PythonRussian
@PythonRussian 4 ай бұрын
кеггл не уверен что кому то нужен вообще, пет-проект нужен хороший и один, посмотри у меня стрим по этому поводу был
@quansumonner
@quansumonner 4 ай бұрын
@@PythonRussian спасибо!
@Chel1k7
@Chel1k7 3 ай бұрын
В python потоки лучше всего умеют это спать
Основы Asyncio
53:25
Python Russian
Рет қаралды 9 М.
Конкурентность и параллельность
40:31
Python Russian
Рет қаралды 4,8 М.
Каха с волосами
01:00
К-Media
Рет қаралды 6 МЛН
Which one will take more 😉
00:27
Polar
Рет қаралды 79 МЛН
I PEELED OFF THE CARDBOARD WATERMELON!#asmr
00:56
HAYATAKU はやたく
Рет қаралды 27 МЛН
Паттерн Singleton (Одиночка) в Python
36:55
Python Russian
Рет қаралды 10 М.
Решаем тестовое задание на позицию junior python backend разработчик
21:18
𝐧𝐞𝐫𝐝𝐢𝐳𝐚𝐲-𝐜𝐨𝐝𝐞
Рет қаралды 9 М.
Главная тайна IT, язык Smalltalk
18:50
Python Russian
Рет қаралды 3,1 М.
Список и кортеж
37:46
Python Russian
Рет қаралды 3,9 М.
ЛОГИКА ПРОЦЕССОРА | Магия многопоточности
17:29
Мой Компьютер
Рет қаралды 117 М.
Multiprocessing: используем все ядра
27:50
Python Russian
Рет қаралды 1,4 М.