多处理“池”挂在正在运行的程序上

钱德拉·桑加拉

我已经编写了一个程序来使用多处理 python 包中的“池”,但它一直挂着内核。(顺便说一下,我正在使用 Jupyter 和 Anaconda)

我尝试使用导入包中的函数,如“数学”,它运行良好,但是,当我使用在同一个 python 文件中创建的函数时,它不起作用。

import multiprocessing as mp

def f(x):
   for i in x:
      return i+1

ar=[1,2,3,4,5]
def main():
    pool=mp.Pool(processes=4)
    pool.map(f,ar)
if __name__== '__main__':
    main()

它表明内核正在运行,但 cpu 使用率为 0%。

我的名字是迦勒

问题ar不在您的主要功能的本地范围内,而是在它之上。把它放在里面,它应该可以工作。

from multiprocessing import Pool

def f(x):
    return x+1

if __name__ == '__main__':
    ar=[1,2,3,4,5]
    with Pool(4) as p:
        print(p.map(f, ar))

还要考虑map将您的迭代器分配给整个流程,本质上它是在for为您执行循环。因此,您可以直接访问 x。

最后,with用作上下文管理器可确保您的池在完成时关闭。[文档]

编辑:我编辑并测试了上面的代码,我的发送了正确的值并正确关闭。

此代码在 Spyder 3.2.6 和标准终端中也适用于我。两个片段都正确关闭并且不会挂在我的机器上。

import multiprocessing as mp

def f(x):
    return x+1

def main():
    ar = [1,2,3,4,5]
    pool = mp.Pool(processes=4)
    print(pool.map(f, ar))

if __name__ == '__main__':
    main()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

关闭多处理Python时,外部程序正在运行

来自分类Dev

如何在正在运行的heroku应用程序上更新app.json清单?

来自分类Dev

控制正在运行的Python进程(多处理)

来自分类Dev

Python多处理:仅一个进程正在运行

来自分类Dev

如何使多处理程序运行?

来自分类Dev

当某个应用程序上正在运行某个进程时,无法使用UI自动器来给设备屏幕截图添加阴影

来自分类Dev

挂在pool.join()上的Python多处理

来自分类Dev

Windows 8.1上的Python多处理池仅产生一个工作程序

来自分类Dev

Windows 8.1上的Python多处理池仅产生一个工作程序

来自分类Dev

检查Windows上是否正在运行某些exe程序

来自分类Dev

池多处理失败

来自分类Dev

多处理池工作程序中的线程标识符

来自分类Dev

多处理池工作程序中的线程标识符

来自分类Dev

如何停止正在运行的Monitor上的LongRunning任务正在等待应用程序关闭?

来自分类Dev

用正在运行的任务处理对象?

来自分类Dev

编写一个简单的批处理文件,检查程序是否正在运行

来自分类Dev

在正在运行的Windows控制台应用程序中处理拖放文件

来自分类Dev

朋友在运行我们正在处理中编写的程序时遇到问题

来自分类Dev

即使应用程序仍在运行并且人们正在处理它,会话也会结束

来自分类Dev

修改正在运行的Java程序

来自分类Dev

监视正在运行的程序的变量?

来自分类Dev

删除正在运行的程序的目录

来自分类Dev

从进程中关闭正在运行的程序

来自分类Dev

如何踢出正在运行的程序?

来自分类Dev

apt如何升级正在运行的程序?

来自分类Dev

是否可以在Android View上查询正在运行/待处理的动画?

来自分类Dev

杀死Python多处理池

来自分类Dev

Python多处理池超时

来自分类Dev

python多处理池信号

Related 相关文章

  1. 1

    关闭多处理Python时,外部程序正在运行

  2. 2

    如何在正在运行的heroku应用程序上更新app.json清单?

  3. 3

    控制正在运行的Python进程(多处理)

  4. 4

    Python多处理:仅一个进程正在运行

  5. 5

    如何使多处理程序运行?

  6. 6

    当某个应用程序上正在运行某个进程时,无法使用UI自动器来给设备屏幕截图添加阴影

  7. 7

    挂在pool.join()上的Python多处理

  8. 8

    Windows 8.1上的Python多处理池仅产生一个工作程序

  9. 9

    Windows 8.1上的Python多处理池仅产生一个工作程序

  10. 10

    检查Windows上是否正在运行某些exe程序

  11. 11

    池多处理失败

  12. 12

    多处理池工作程序中的线程标识符

  13. 13

    多处理池工作程序中的线程标识符

  14. 14

    如何停止正在运行的Monitor上的LongRunning任务正在等待应用程序关闭?

  15. 15

    用正在运行的任务处理对象?

  16. 16

    编写一个简单的批处理文件,检查程序是否正在运行

  17. 17

    在正在运行的Windows控制台应用程序中处理拖放文件

  18. 18

    朋友在运行我们正在处理中编写的程序时遇到问题

  19. 19

    即使应用程序仍在运行并且人们正在处理它,会话也会结束

  20. 20

    修改正在运行的Java程序

  21. 21

    监视正在运行的程序的变量?

  22. 22

    删除正在运行的程序的目录

  23. 23

    从进程中关闭正在运行的程序

  24. 24

    如何踢出正在运行的程序?

  25. 25

    apt如何升级正在运行的程序?

  26. 26

    是否可以在Android View上查询正在运行/待处理的动画?

  27. 27

    杀死Python多处理池

  28. 28

    Python多处理池超时

  29. 29

    python多处理池信号

热门标签

归档