Курс Python → Параллельные вычисления в Python

Модуль concurrent.futures в Python предоставляет высокоуровневый интерфейс для работы с параллельными задачами. Он позволяет создавать пулы потоков и процессов для выполнения функций асинхронно, что позволяет улучшить производительность при работе с большими объемами данных. В данном примере мы рассмотрим использование ThreadPoolExecutor для параллельного выполнения функции над элементами списка.

Для начала необходимо импортировать модуль concurrent.futures:

import concurrent.futures

Затем мы создаем пул потоков с помощью ThreadPoolExecutor:

with concurrent.futures.ThreadPoolExecutor() as executor:
    results = executor.map(square, numbers)

Здесь функция square будет применена к каждому элементу списка numbers параллельно. Результаты будут возвращены в том же порядке, в котором задачи были отправлены. Метод map позволяет передать каждый элемент из списка в функцию и получить список результатов после завершения выполнения всех задач.

Аналогично, можно использовать ProcessPoolExecutor для выполнения задач в отдельных процессах. Это особенно полезно, когда необходимо выполнить вычисления, которые могут блокировать потоки (например, взаимодействие с вводом-выводом). Пример использования ProcessPoolExecutor:

with concurrent.futures.ProcessPoolExecutor() as executor:
    results = executor.map(square, numbers)

Таким образом, модуль concurrent.futures предоставляет удобный способ реализации параллельных вычислений в Python, что помогает улучшить производительность при работе с большими объемами данных.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Сортировка данных с лямбда-функциями
  2. Уникальные значения из списка
  3. Взаимодействие с sys
  4. Оператор морж в Python 3.8
  5. Функция zip() в Python
  6. Форматирование заголовков в Python
  7. Импорт модуля из другого каталога
  8. Повторение и перенос строки
  9. Итераторы в Python
  10. Ускорение кода с помощью векторизации
  11. Введение в PyTorch
  12. Работа с географическими данными в Python
  13. Форматирование вывода с F-строками
  14. Работа с индексами списков
  15. Генераторы в Python
  16. Работа с CSV файлами в Python
  17. Работа с контекстными менеджерами
  18. Python Метод Union Множеств
  19. Удаление и повторная вставка ключа в OrderedDict
  20. Применение функций в Python
  21. Метод setdefault() в Python
  22. Открытие, чтение и закрытие файла
  23. Округление чисел с помощью round
  24. Строковое представление объектов
  25. Конструктор в Python
  26. Копирование объектов в Python
  27. GitHub в Telegram: подписка на уведомления
  28. Создание списков в Python
  29. Основы Python за 14 дней
  30. Модуль array: создание и использование массивов
  31. Основные операции с библиотекой Numpy
  32. Аннотации типов в Python
  33. Функция pow() — возвести число в степень
  34. Обновление и получение данных в SQLite
  35. Просмотр атрибутов и методов класса
  36. Замеры производительности в Python
  37. Метод count в Python: почему count(», ») возвращает 4?
  38. Проверка элементов списка условием
  39. Работа с collections в Python
  40. Исключение NotImplementedError
  41. Создание задания в Cron
  42. Форматирование строк с помощью f-строк
  43. Объединение словарей в Python
  44. Модуль math: основные функции

Marketello читают маркетологи из крутых компаний