Курс 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"
- Функции map, filter, reduce
- Проверка дублей в списке.
- Добавление элементов в список: append() vs extend()
- Генераторы списков
- Создание namedtuple из словаря
- Основы Python за 14 дней
- Оператор += для объединения строк
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Хранение данных с помощью dataclasses
- Оператор «is not» в Python
- Перезагрузка оператора в Python
- PUT запрос для обновления данных
- Создание объекта времени
- Проверка класса объекта
- Работа с аргументами командной строки в Python
- Форматирование данных с помощью pprint
- Изменения в обработке логических значений
- Работа с срезами в Python
- Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
- Получение размера объекта с sys.getsizeof()
- Enum в Python
- Объединение словарей в Python
- Python: динамическая типизация и проверка типов
- Импорт модулей в Python 3.12
- Введение в PyTorch
- Форматирование объектов с модулем pprint
- Транспонирование 2D-массива с помощью zip
- Очистка входных данных
- Многопоточность и асинхронное программирование в Python
- Работа с CSV файлами в Python
- Извлечение чисел из текста
- Подсчет элементов в списке с Counter
- Анонимные функции в Python
- Функция format() в Python
- Python: отличительная особенность — отступы
- Повторение элементов в Python
- Конструктор в Python
- Удаление дубликатов с помощью множеств
- Функция map() и ленивая оценка
- Генераторные выражения и islice.
- Генераторы в Python
- Поиск анаграмм с Counter
- Создание вкладок с TKinter
- Псевдонимы в Python















