cmd
- это функция, которая обрабатывает аргумент x и выводит вывод на стандартный вывод.Например, это может быть
def cmd(x):
print(x)
Последовательная программа, вызывающая cmd()
, выглядит следующим образом.
for x in array:
cmd(x)
Чтобы ускорить программу, я бы хотел, чтобы она работала параллельно,Вывод stdout может быть не в порядке, но вывод одного x не должен прерываться выводом другого x.
Для реализации этого в python могут быть разные способы.Я выясняю что-то вроде этого.
from joblib import Parallel, delayed
Parallel(n_jobs=100)(delayed(cmd)(i) for i in range(100))
Это лучший способ реализовать это в python с точки зрения простоты кода / читаемости и эффективности?
Кроме того, приведенный выше код работает нормально наpython3.Но не на python2, я получил следующую ошибку.Это проблема, которая может вызвать ошибки?
/ Библиотека / Frameworks / Python.framework / Versions / 2.7 / lib / python2.7 / site-packages / joblib / externals / loky / backend / semlock.py:217: RuntimeWarning: семафор разбит на OSX, выпуск может увеличить его максимальное значение («увеличить его максимальное значение», RuntimeWarning)
Спасибо.