上面多进程实现中,最不可思议的应该是这么一条语句:ret = Parallel(n_jobs=1)(delayed(math_ops)(data_increment(my_sqrt(i)))for iin range(10))
下面这条语句更好玩,具体理解请自己琢磨:
def math_ops(j):
return j
def math2(i, j):
return i*j
ret = Parallel(n_jobs=1)(delayed(math2)(math_ops(i), math2(i, i))for iin range(3))
但是为什么可以这么写呢,是因为在Parallel类中定义了__call__方法,如下图所示:
网友评论