首页 > 解决方案 > 为什么计算失败了?

问题描述

我为每个工人创建了 4 个进程。

"dask-worker scheduler_IP --nprocs 4 --nthreads 1 --resources "process=1"".

我为工人分配了 52 个任务。

"A = client.map(printFunc, range(0, 52), resources={'process': 1})"

def printFunc(x):
    time.sleep(5)
    print(x)

方法“printFunc”被定义为休眠 5 秒。由于我创建了4个进程,命令行会同时打印4个数字,但是之后命令行就不再打印数字了,看起来程序结束了,但还剩下48个数字。

PS:如果没有“sleep”方法,只打印数字,那么52个数字都可以打印。

为什么程序关闭?

标签: parallel-processingprocess

解决方案


推荐阅读