Sobes.tech
Назад к вопросам
Junior — Middle
59

Каким образом можно реализовать параллельное выполнение задач в приложении?

Компании, где спрашивали
Soft Media Group

Ответ от нейросети

sobes.tech AI

В Python параллельное выполнение задач можно реализовать несколькими способами:

  1. Модуль threading — для многопоточности. Подходит для задач, где много операций ввода-вывода, но из-за GIL (Global Interpreter Lock) неэффективен для CPU-интенсивных задач.
import threading

def task():
    print("Выполняется задача")

thread = threading.Thread(target=task)
thread.start()
thread.join()
  1. Модуль multiprocessing — для запуска нескольких процессов, обходящий GIL, подходит для CPU-интенсивных задач.
from multiprocessing import Process

def task():
    print("Выполняется задача в отдельном процессе")

process = Process(target=task)
process.start()
process.join()
  1. Модуль concurrent.futures — более высокоуровневый API для управления потоками и процессами.
from concurrent.futures import ThreadPoolExecutor

def task(n):
    return n * n

with ThreadPoolExecutor(max_workers=3) as executor:
    results = executor.map(task, [1, 2, 3])
    for result in results:
        print(result)
  1. Асинхронное программирование (asyncio) — для параллельного выполнения задач, основанных на ожидании ввода-вывода.

Выбор метода зависит от типа задач и требований к производительности.