1. Что такое многопоточность?
Многопоточность — это способ достижения многозадачности. В многопоточности используется концепция потоков. Это метод, с помощью которого один и тот же набор кода может использоваться несколькими процессорами на разных этапах выполнения.
Давайте возьмем простую программу на Python и посмотрим, сколько времени уйдет на ее выполнение.
Вывод этой программы будет выглядеть так:
Как видите, функция calc_square() выполняется первой и выдает результат через каждую 1 секунду, а после этого начинает выполняться функция calc_square() и выдает нам результат. общее время, затраченное этой программой, отображается как 8,063999891281128.
Здесь я использовал модуль Python time для создания задержки в 1 секунду. В реальных проектах это может быть задержка, возникающая при получении результатов из API.
Теперь давайте возьмем ту же программу на Python и воспользуемся концепцией многопоточности.
Вывод этой программы будет выглядеть так:
Общее время, затраченное этой программой, отображается как 4,0269999504089355. Таким образом, вы можете видеть, что время сократилось до половины времени, затрачиваемого программой без многопоточности.
Конечные примечания
В этой статье я познакомил вас с базовой концепцией многопоточности с использованием модуля threading в Python. Я надеюсь, что вы нашли эту статью полезной.
Удачи!