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-интенсивных задач, но отлично подходят для задач ввода-вывода.