Sobes.tech
Back to questions
Junior — Middle
63

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

Companies where asked
Баланс-ПлатформаБаланс-Платформа
LuckyGroup
Диджитал сектор

Answer from AI

sobes.tech AI

Параллельное выполнение задач на многопроцессорных системах в Python реализуется несколькими способами:

  • Модуль multiprocessing — позволяет создавать процессы, которые запускаются параллельно и не ограничены GIL (Global Interpreter Lock). Это эффективный способ для CPU-bound задач.

  • Потоки (threading) — подходят для I/O-bound задач, так как в Python из-за GIL потоки не выполняются параллельно на нескольких ядрах.

  • Модуль concurrent.futures — предоставляет удобный интерфейс для запуска задач в потоках (ThreadPoolExecutor) или процессах (ProcessPoolExecutor).

Пример использования multiprocessing:

from multiprocessing import Pool

def f(x):
    return x * x

if __name__ == '__main__':
    with Pool(4) as p:
        results = p.map(f, [1, 2, 3, 4, 5])
    print(results)  # [1, 4, 9, 16, 25]