В разделе рассматривался модуль concurrent.futures. Он предоставляет высокоуровневый интерфейс для асинхронного выполнения задач.
В этом разделе рассматриваются основы модулей threading и multiprocessing. Они предоставляют больше возможностей, чем concurrent.futures, но при этом и сложнее в использовании.
Цель этого раздела - показать как с помощью модулей threading и multiprocessing распараллелить выполнение задачи.