Sobes.tech
Back to questions
Junior — Middle
63

Каким образом реализовать параллельное выполнение задач в потоках в Python без использования процессов?

Answer from AI

sobes.tech AI

Для параллельного выполнения задач в потоках в Python без использования процессов можно использовать модуль threading. Он позволяет создавать и запускать несколько потоков внутри одного процесса.

Пример параллельного выполнения двух функций в потоках:

import threading
import time

def task(name, delay):
    for i in range(3):
        print(f"{name} выполняется {i+1} раз")
        time.sleep(delay)

thread1 = threading.Thread(target=task, args=("Поток 1", 1))
thread2 = threading.Thread(target=task, args=("Поток 2", 1.5))

thread1.start()
thread2.start()

thread1.join()
thread2.join()
print("Все потоки завершены")

Важно помнить, что из-за GIL (Global Interpreter Lock) в CPython потоки не дают настоящего параллелизма при выполнении CPU-интенсивных задач, но отлично подходят для задач ввода-вывода.