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')