Sobes.tech
Back to questions
Junior — Middle
79

Можно ли реализовать многопроцессорную обработку, распределив её между различными ядрами процессора?

Companies where asked
ООО Корпорация ЗНАК

Answer from AI

sobes.tech AI

Да, в Python можно реализовать многопроцессорную обработку, распределяя задачи между разными ядрами процессора. Для этого используется модуль multiprocessing, который создает отдельные процессы, каждый из которых может выполняться на отдельном ядре, обходя ограничение GIL (Global Interpreter Lock).

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

from multiprocessing import Pool

def f(x):
    return x * x

if __name__ == '__main__':
    with Pool(4) as p:  # создаем пул из 4 процессов
        results = p.map(f, [1, 2, 3, 4, 5])
    print(results)  # [1, 4, 9, 16, 25]

Таким образом, задачи распределяются между процессами, которые могут выполняться параллельно на разных ядрах.