Курс 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"
- Сортировка данных с лямбда-функциями
- Уникальные значения из списка
- Взаимодействие с sys
- Оператор морж в Python 3.8
- Функция zip() в Python
- Форматирование заголовков в Python
- Импорт модуля из другого каталога
- Повторение и перенос строки
- Итераторы в Python
- Ускорение кода с помощью векторизации
- Введение в PyTorch
- Работа с географическими данными в Python
- Форматирование вывода с F-строками
- Работа с индексами списков
- Генераторы в Python
- Работа с CSV файлами в Python
- Работа с контекстными менеджерами
- Python Метод Union Множеств
- Удаление и повторная вставка ключа в OrderedDict
- Применение функций в Python
- Метод setdefault() в Python
- Открытие, чтение и закрытие файла
- Округление чисел с помощью round
- Строковое представление объектов
- Конструктор в Python
- Копирование объектов в Python
- GitHub в Telegram: подписка на уведомления
- Создание списков в Python
- Основы Python за 14 дней
- Модуль array: создание и использование массивов
- Основные операции с библиотекой Numpy
- Аннотации типов в Python
- Функция pow() — возвести число в степень
- Обновление и получение данных в SQLite
- Просмотр атрибутов и методов класса
- Замеры производительности в Python
- Метод count в Python: почему count(», ») возвращает 4?
- Проверка элементов списка условием
- Работа с collections в Python
- Исключение NotImplementedError
- Создание задания в Cron
- Форматирование строк с помощью f-строк
- Объединение словарей в Python
- Модуль math: основные функции















