Что такое threading?
Этот вопрос проверяет знание многозадачности с использованием потоков в Python и того, как потоки могут быть использованы для параллельного выполнения задач.
Короткий ответ
Threading (многозадачность с потоками) — это возможность выполнять несколько потоков внутри одного процесса. Каждый поток выполняет свою задачу, но все они разделяют общую память и данные, что делает работу с потоками более эффективной для задач с блокирующими операциями, такими как чтение файлов или работа с сетью.
Длинный ответ
Модуль threading позволяет создавать несколько потоков внутри одного процесса. Потоки выполняются параллельно, но каждый из них использует общую память, что упрощает взаимодействие между потоками. Однако из-за GIL (Global Interpreter Lock) потоки Python не могут выполнять вычислительно интенсивные задачи параллельно, что ограничивает их использование в таких случаях.
Копировать код
import threading
def print_numbers():
for i in range(5):
print(i)
# Создание и запуск потока
thread = threading.Thread(target=print_numbers)
thread.start()
thread.join()Многозадачность с потоками эффективна для ввода-вывода (например, для работы с сетью или базами данных), но не так полезна для вычислений, так как потоки в Python не могут использовать несколько процессорных ядер одновременно.