1. Что такое многопоточность?

Многопоточность — это способ достижения многозадачности. В многопоточности используется концепция потоков. Это метод, с помощью которого один и тот же набор кода может использоваться несколькими процессорами на разных этапах выполнения.

Давайте возьмем простую программу на Python и посмотрим, сколько времени уйдет на ее выполнение.

Вывод этой программы будет выглядеть так:

Как видите, функция calc_square() выполняется первой и выдает результат через каждую 1 секунду, а после этого начинает выполняться функция calc_square() и выдает нам результат. общее время, затраченное этой программой, отображается как 8,063999891281128.

Здесь я использовал модуль Python time для создания задержки в 1 секунду. В реальных проектах это может быть задержка, возникающая при получении результатов из API.

Теперь давайте возьмем ту же программу на Python и воспользуемся концепцией многопоточности.

Вывод этой программы будет выглядеть так:

Общее время, затраченное этой программой, отображается как 4,0269999504089355. Таким образом, вы можете видеть, что время сократилось до половины времени, затрачиваемого программой без многопоточности.

Конечные примечания

В этой статье я познакомил вас с базовой концепцией многопоточности с использованием модуля threading в Python. Я надеюсь, что вы нашли эту статью полезной.

Удачи!