Назад к вопросам
Junior — Middle
59
Каким образом можно реализовать параллельное выполнение задач в приложении?
Компании, где спрашивали
Soft Media Group
Ответ от нейросети
sobes.tech AI
В Python параллельное выполнение задач можно реализовать несколькими способами:
- Модуль threading — для многопоточности. Подходит для задач, где много операций ввода-вывода, но из-за GIL (Global Interpreter Lock) неэффективен для CPU-интенсивных задач.
import threading
def task():
print("Выполняется задача")
thread = threading.Thread(target=task)
thread.start()
thread.join()
- Модуль multiprocessing — для запуска нескольких процессов, обходящий GIL, подходит для CPU-интенсивных задач.
from multiprocessing import Process
def task():
print("Выполняется задача в отдельном процессе")
process = Process(target=task)
process.start()
process.join()
- Модуль 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)
- Асинхронное программирование (asyncio) — для параллельного выполнения задач, основанных на ожидании ввода-вывода.
Выбор метода зависит от типа задач и требований к производительности.