Back to questions
Junior — Middle
64
Имел ли опыт использования библиотеки multiprocessing для параллельной обработки данных в Python?
Answer from AI
sobes.tech AI
Да, библиотека multiprocessing в Python позволяет создавать процессы для параллельного выполнения кода, что особенно полезно для CPU-интенсивных задач, обходя ограничение GIL (Global Interpreter Lock).
Основные возможности:
- Создание новых процессов с помощью
Process - Использование очередей (
Queue) и пайпов (Pipe) для обмена данными между процессами - Пулы процессов (
Pool) для удобного распределения задач
Пример использования multiprocessing.Pool для параллельной обработки списка чисел:
from multiprocessing import Pool
def square(x):
return x * x
if __name__ == '__main__':
with Pool(4) as p:
results = p.map(square, [1, 2, 3, 4, 5])
print(results) # [1, 4, 9, 16, 25]
Такой подход ускоряет обработку больших объемов данных за счет использования нескольких ядер процессора.