我是新来的多处理。 我写了一个简单的代码,一次只需要1个号码并打印出来。了解python使用一个简单的例子多重处理
import multiprocessing as mp
def test(num):
print num
L = [1,2,3,4,5,6,7,8]
pool = mp.Pool(2)
pool.map(test,L)
这可以使用正常方法也[test(i) for i in L]
做,但我想用多和这样做。 但是当我运行程序时,内核显示繁忙,但没有打印正在发生。
我的代码有什么问题吗?
你使用的是Windows打印? –
@IljaEverilä是 – Shubham
由于多处理尝试产生尝试从模块中导入测试函数的新进程,这会导致一组新的进程产生并且...您需要防范实际为了防止这种情况,使用“if __name__ ==”__main__“:...'”main“代码。在支持分叉的系统上,例如linux,这不会发生,因为它们只是在现场分叉并调用函数。 –