我在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中缺少什么?的主要内容,如果未能解决你的问题,请参考以下文章
我在这里缺少啥? IsSuccessStatusCode 无效
语法错误:缺少 ';'编译 winnt.h 时在标识符“PVOID64”之前