Задать вопрос
@prochanev

Потоки в python, для чего?

Добрый день, друзья!
Никак не могу разобраться для чего применяются потоки в python, с учетом того, что есть GIL. все примеры в интернете основаны на запуске таймера в потоках. Что вообще не дает понимания вопроса. Т.е. зачем это может понадобиться.
Если для операций IO, то есть ведь asycio.

Есть ли хорошая статья на эту тему, где было бы описано реальное применение потоков, с описанием причины их применения?

Может быть есть книга, где объясняются реальные кейсы применения?
  • Вопрос задан
  • 565 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 3
DevMan
@DevMan
вопрос потоков не имеет ничего общего конкретно с питоном. это вообще из программирования как такового.
их назначение – распараллеливание операций, когда это имеет смысл.

простой пример – архиватор, файловый менеджер, утилита для нагрузочного тестирования.
Ответ написан
total4c
@total4c
Говнокодер
Могу объяснить на практике, для чего они нужны.

Допустим, вам необходимо скачать несколько файлов с сайта. Если делать это обычным методом, то они будут скачиваться по-очереди, т.е 1 -> 2 -> 3 и т.д. Но с помощью потоков можно распараллелить этот процесс
См. пример ниже:

from threading import Thread
url = ["https://test.com/23123", "https://test.com/2343" ...]

def download(url):
     file = requests.get(url)
     with open("photo.jpg", "wb") as f:
            f.write(file.content)

for i in url:
     Thread(target=download, args=(i,)).start()
Ответ написан
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Если для операций IO, то есть ведь asycio.

Не всё можно сделать асинхронным. Например файловый ввод/вывод в Windows без блокировок можно осуществлять только в потоках.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@LikeKey
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
02 февр. 2025, в 00:55
2500 руб./за проект
02 февр. 2025, в 00:25
5000 руб./за проект
02 февр. 2025, в 00:18
1000 руб./за проект