[英]Python code using multiprocessing running infinitely
我正在尝试使用多处理在 jupyter notebook 中执行以下代码,但循环无限运行。
我需要帮助解决这个问题。
import multiprocessing as mp
import numpy as np
def square(x):
return np.square(x)
x = np.arange(64)
pool = mp.Pool(4)
squared = pool.map(square, [x[16*i:16*i+16] for i in range(4)])
mp.cpu_count()
的 output 是 4。
您需要将代码重写为:
def main():
x = np.arange(64)
pool = mp.Pool(4)
squared = .....
if __name__ == '__main__':
main()
此代码当前正在每个进程中运行。 您需要它只在执行设置的一个进程中运行。
你忘了:
pool.close()
pool.join()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.