Существует ли многопоточная карта () функция? [закрытый]

13
задан APerson 16 April 2017 в 00:02
поделиться

5 ответов

Попробуйте использовать функцию Pool.map из многопроцессорной обработки:

http://docs.python.org/library/multiprocessing.html#using-a- pool-of-worker

Это не многопоточность как таковая, но на самом деле это хорошо, поскольку многопоточность в Python серьезно нарушена GIL.

16
ответ дан 1 December 2019 в 23:31
поделиться

Думаю, нет причин для такой функции. Все потоки Python должны выполняться на одном процессоре. Предполагая, что ваша функция карты не имеет компонента ввода-вывода, вы не увидите никакого ускорения обработки (и, вероятно, увидите замедление из-за переключения контекста).

Другие плакаты упоминали многопроцессорность - это, вероятно, лучшая идея.

-1
ответ дан 1 December 2019 в 23:31
поделиться

Может быть, попробовать реализацию Unladen Swallow Python 3 ? Это может быть крупный проект, и его стабильность не гарантирована, но если вы захотите, он может сработать. Тогда список или набор понятий кажутся подходящей функциональной структурой для использования.

0
ответ дан 1 December 2019 в 23:31
поделиться

Вы можете использовать пакет Python для многопроцессорной обработки ( http://docs.python.org/library/multiprocessing.html ). Пакет облачного Python, доступный в PiCloud ( http://www.picloud.com ), также предлагает функцию множественной обработки map (), которая может выгружать вашу карту в облако.

2
ответ дан 1 December 2019 в 23:31
поделиться

Эта функция не встроена. Однако кто-то уже реализовал ее .

-2
ответ дан 1 December 2019 в 23:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: