Курс 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"
- Имена объектов в Python
- Возвращение нескольких значений
- Списки в Python: основы
- Принципы программирования
- Очистка входных данных
- Вложенные генераторы в Python
- Извлечение новостей с newspaper3k
- Создание .exe файла с pyinstaller
- inspect в Python: анализ кода
- Генератор данных в Keras
- Красивый вывод списка
- Переопределение метода __or__()
- Получение списка кортежей из словаря
- Создание класса очереди
- Статическая типизация в Python
- Обработка ошибок в Python
- Создание уникального проекта
- Возвращение нескольких значений через кортеж или класс
- Перевернуть список в Python
- Работа со словарями в Python
- Функция map() в Python
- Приближение чисел в Python
- Основы работы со списками
- Удаление элемента из списка в Python
- Сравнение объектов в Python
- Логирование в Python
- Математические функции в Python
- Именованные аргументы в Python
- Подчеркивание в REPL
- Работа с модулем Calendar
- Функции в одну строку
- Заказ карты Тинькофф Black
- Метод setitem в Python
- Модуль os: работа с файлами и папками
- Удаление символа из строки
- Списки: объединение, изменение
- Документирование функций в Python
- Фильтрация входных данных в Python
- Конкатенация строк в Python
- Отладка в командной строке
- Объединение словарей в Python
- Глобальные переменные в Python
- Применение функции к списку
- Обмен значений переменных в Python
- Python: Фильтрация списков с помощью filter()















