我在Multi-Processing中缺少什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我在Multi-Processing中缺少什么?相关的知识,希望对你有一定的参考价值。

import multiprocessing
import time

def sq(a):
    for n in a:
        time.sleep(0.2)
        print('square '+str(n*n))

def cub(a):
    for n in a:
        time.sleep(0.2)
        print('cube '+str(n*n*n))

if __name__ == "__main__":
    arr=[2,3,4,5]
    p1=multiprocessing.Process(target=sq,args=(arr,))
    p2=multiprocessing.Process(target=cub,args=(arr,))

    p1.start()
    p2.start()

    p1.join()
    p2.join()

    print('done')

在这里我只得到输出但不是方形和立方体。

这是我正在尝试进行多处理的代码。我在多线程的情况下得到了输出,因为大多数语法是相同的但不是在多处理的情况下。

答案

不幸的是,Python中的多处理库不能在IDE中工作。我只是在两个不同的环境中使用2个IDE进行了双重检查,但没有一个访问这些方法。当我从命令行运行它时,它工作正常。这篇文章中有一个解释Python multiprocessing

编辑:

根据您在评论中分享的视频,似乎Pycharm是一个例外。我在我的测试中工作过。关键是代码没有问题。如果它在IDE中不起作用,则表示不支持它。所以我想你可以在教程中使用Pycharm或使用命令行。

以上是关于我在Multi-Processing中缺少什么?的主要内容,如果未能解决你的问题,请参考以下文章

我在XMLHttpRequest中缺少什么?

我在 XMLHttpRequest 中缺少啥?

我在这里缺少啥? IsSuccessStatusCode 无效

语法错误:缺少 ';'编译 winnt.h 时在标识符“PVOID64”之前

dojo gridx 不会从 JSONRest 存储中读取 - 我在这里缺少啥?

当我在浏览器中按回时,为什么现在按钮缺少它的禁用属性?