💯 Максимизируем эффективность кода в Python

preview_player
Показать описание
Многие функции есть смысл запустить в потоке, для паралеллизации их выполнения с целью увеличения скорости работы вашей программы.

музыка на бэке:

Creative Commons CC BY 4.0

#programming #python #shorts #threading
Рекомендации по теме
Комментарии
Автор

Не начинаете видел с фраза "Пайтон бл...ь"?. Фатальная ошибка

nan
Автор

Кстати в видео говорится, что мы добавляем модуль трединг из Треад, но как я понимаю все как раз наоборот. Из модуля треадинг мы извлекаем метод Треад и уже с ним работаем.

jzsfrsl
Автор

Эх, любимые асинхронные функции на TS, красиво, удобно, читабельно

mrutia
Автор

Важно отметить что time.sleep это очень уж удачный пример так как внутри Cpython имплементации данной функции Гил отключается. Если в примере из видео вместо sleep использовать чтото тяжеловесное но на голом питоне например то при запуске можно увидеть что операции выполняются не параллельно а последовательно и все изза Gil и выйгрыша в производительности не будет

gromilla
Автор

Можно использовать async для подобных задач.

flacsy
Автор

Почитайте про GIL, до Python 3.13 многопоточность в Python имеет смысл только при работе с сетью и базами данных, в остальных случаях ускорения не будет

vladimirnovikov
Автор

Потоки еще закрывать нужно при выходе, иначе схлопочешь утечку памяти и в лучшем случае не возможность повторного запуска приложения, а в худшем краш. И хорошо если это будет какая-то безобидная программка, а не программа по управлению чем-то серьёзным

Planerfull
Автор

в новых версиях питона хотят добавить что то типа multi iterators, чтобы можно было запускать несколько итераторов в рамках одного процесса и не париться с GIL.

andrewser
Автор

Да, тема классная, еще можно использовать пуллы потоков, они и закроются сами с WITH ...

ASimpleSkier
Автор

Вот так кто то посмотрит. Начнет лепить потоки, хватать deadlock'и и не понимать, а почему же так происходит. К тому же один поток требует не хило памяти (около 1 мб)

_sort_
Автор

Я не питонист но не проще использовать асинхронность ? Или такого в питухоне нету ?

cobalt
Автор

Автор, подскажешь, где лучше всего почитать про асинхронность и параллельность? В каких ситуациях что применяется, методы, реализации и тд

ghostlyangel
Автор

У себя в коде пока что нудна последовательность по исполнению функций, но за видео спасибо. Подумаю где применить многопоточность 😊👍👍👍👍

gaben_aTan
Автор

Как сделать при написании программы такие линии вертикальные?

qeultbw
Автор

автора какую ты комбинацию клавиш нажал что бы по кроям появились # (я просто начинающий пайтонист)

xvzgbkb
Автор

Они не одновременно запускаются, а одна за другой, просто после запуска первой пайтон не ждет ее завершения и переходит к запуску второй. я верно мыслю?

egeycqq
Автор

Думал будешь использовать asyncio, но удивил) очень мощная библиотека, в моём антивирусе мне нужно обрабатывать множество вызовов WIN API при запуске, поэтому, дабы не блокировать интерфейс, используем threading...

CAHCrawlAdaptHide
Автор

Зачем в этом примере создаются переменные th1 и th2. Можно же вызвать метод start сразу у вызова класса... Экземпляры-то дальше не используются

Markisi
Автор

Очень доходчиво! Спасибо, надо будет попробовать. 🤔

beenland
Автор

В эликсире параллельность проще сделать

ouxlvfh