Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我在多重处理中遗漏了什么?_Python_Multiprocessing - Fatal编程技术网

Python 我在多重处理中遗漏了什么?

Python 我在多重处理中遗漏了什么?,python,multiprocessing,Python,Multiprocessing,这里我只得到输出,而不是正方形和立方体 这是我正在尝试进行多重处理的代码。我是在多线程的情况下得到输出的,因为大多数语法都是相同的,但在多处理的情况下就不一样了。不幸的是,Python中的多处理库在IDE中无法工作。我只是在两个不同的环境中对两个IDE进行了双重检查,但没有一个IDE访问这些方法。当我从命令行运行它时,它工作得很好。这里有一个解释 编辑: 从你在评论中分享的视频来看,Pycharm似乎是个例外。我在我的电脑上进行了测试,效果很好。关键是代码没有问题。如果它在IDE中不工作,则表

这里我只得到输出,而不是正方形和立方体


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

不幸的是,Python中的多处理库在IDE中无法工作。我只是在两个不同的环境中对两个IDE进行了双重检查,但没有一个IDE访问这些方法。当我从命令行运行它时,它工作得很好。这里有一个解释

编辑:


从你在评论中分享的视频来看,Pycharm似乎是个例外。我在我的电脑上进行了测试,效果很好。关键是代码没有问题。如果它在IDE中不工作,则表示它不受支持。因此,我想您可以像在教程中一样使用Pycharm,也可以使用命令行

现在还不清楚这里有什么问题。你能澄清一下吗?对我来说似乎很好。您正在运行哪个版本的Python?您使用的是什么操作系统?操作系统Windows 7,Python版本2.7当我在Python中遇到多处理问题时,它是由我的IDE引起的,我使用的是iPython。尝试使用命令行“python[yourFileName].py”运行此命令。我复制并粘贴了你们的代码,这样做对我来说效果很好……检查这里,他正在使用IDE,输出显示在IDE中
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')