Q : «Что мне нужно сделать, чтобы получить результат так, как я хочу?»
Вам нужно первый понять игрушки и его механика
Процессо-распределенные вычисления, распределенные по пафосу, не «равномерно» делятся переменные "через" все удаленные процессы (скорее происходит совершенно противоположное и правильное из-за разделения этих отдельных процессов, центральное и все распределенные GIL-блокировка -ы становятся и остаются независимыми и могут свободно выполнять вычисления без ожидания в ином неисключаемом интерпретаторе python [SERIAL]
- очередь работает, но ждет своей очереди в избежание -конкурентность - безопасная, но ужасно неэффективная последовательность всех ожиданий, но каждый выполняет небольшую работу, если это ее очередь, в бесконечная очередь ожидания GIL-блокировки One_step - после - Другой _step - после - Another_step -...
Пафос помог вам сократить этот чистый - [SERIAL]
цепочка ALL -wit -but- (просто) один (и только один) - работает .
Обрезка (путем отправки некоторой работы в полностью независимые процессы) также означает, что эти процессы не знают ничего, кроме состояния оригинала (основной) процесс python во время их создания (да, они были созданы полной копией исходного интерпретатора python, включая все его внутреннее состояние - то есть все import
, а также все структуры данных полностью копируются в стадо новых копий процессов).
Это помогает выполнить некоторую серьезную работу, но это довольно дорого для всей этой тяжелой артиллерийской работы в тех случаях, когда лишь немногие этапы вычислений выполняются на дальнем конце выполнения кода удаленного процесса - такие варианты использования никогда не оправдывают затраты на добавление s, которые были сожжены для того, чтобы это произошло.
Тем не менее, независимость процесса также означает, что нет никакого способа (если не запрограммировано явно), что любой независимый процесс когда-либо услышит о присвоении переменной в любом другом из (все еще независимых процессов).
Таким образом, выполнение .append()
всегда является проблемой, если модификация удаленных копий переменной, созданной в главном интерпретаторе, до того, как процессы скопируют ее в удаленный - независимые -инстанции.
Сделайте return [i, product]
в hay(i)
, и pool.map()
соберет эти соответствующие результаты в нужную вам форму и форму.