LINUX.ORG.RU

многопроцессность в питоне


0

2

Какую библиотеку посоветуете использовать для мультипроцессности из питона? Желательно, с готовым map.
Стандартная библиотека multiproccess имеет ограгичения (типа того, что функция для map должна быть импортируемой из модуля)

★★
Ответ на: комментарий от ACR

почему нереально? pprocess это и предлагает, но, насколько понял, только для posix-систем, а поддержка винды тоже нужна

bik ★★
() автор топика
Ответ на: комментарий от bik

Про лямбду уже ответили. А преимущество multiprocessing в его изкаробочности, что, мне кажется, с лихвой перекрывает эту шероховатость.

baverman ★★★
()
Ответ на: комментарий от shylent

различие в синтаксисе использования. на «выходе» вообще все одинаковое. байт-код

bik ★★
() автор топика
Ответ на: комментарий от bik

на «выходе» вообще все одинаковое. байт-код

Что за бред? Вы еще про то, что вся информация - набор бит напишите. На выходе как у def, так и у lambda <type 'function'>.

Следующие две записи эквивалентны:

func = lambda something: something
def func(something):
    return something
Единственное различие (не влияющее, естественно, на результат выполнения этих ф-ций) - в первом случае у func атрибут func_name будет «<lambda>», а во втором - «func».

Сами же понимаете, что глупость сморозили. Что вы пытаетесь тут доказать?

Отвлекаясь от захватывающего обсуждения объектов-функций python, хотелось бы спросить, а какую вы, собственно, проблему решаете? Можете показать кусок кода, который не работает или работает не так, как надо/хочется?

shylent
()
Ответ на: комментарий от bik

Вообще-то shylent один из немногих лоровцев, которые действительно очень хорошо знают питон. Я бы на твоем месте подумал, что тебе все-таки пытались сказать.

baverman ★★★
()
Ответ на: комментарий от shylent

>в первом случае у func атрибут func_name будет «<lambda>», а во втором - «func».

Только вот не func_name, а __name__, который даже поменять можно, правда без особой пользы.

А в остальном ты прав.

anonymous
()

> Стандартная библиотека multiproccess имеет ограгичения (типа того, что функция для map должна быть импортируемой из модуля)

А это единственное ограничение, из-за которого multiprocess нельзя использовать?

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

Хм, да, похоже, что func_name и __name__ указывают на одни и те же данные.

Спасибо, что поправили.

shylent
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.