Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何对具有零位置参数的函数使用Python多处理?_Python_Iterator_Multiprocessing_Python Multiprocessing - Fatal编程技术网

如何对具有零位置参数的函数使用Python多处理?

如何对具有零位置参数的函数使用Python多处理?,python,iterator,multiprocessing,python-multiprocessing,Python,Iterator,Multiprocessing,Python Multiprocessing,以下是一个例子: import multiprocessing def function(): for i in range(10): print(i) if __name__ == '__main__': p = multiprocessing.Pool(5) p.map(function, ) 产生错误:TypeError:map()缺少1个必需的位置参数:“iterable” 这个函数不需要任何输入,所以我不希望人为地强迫它。还是多处理需要一些可

以下是一个例子:

import multiprocessing
def function():
    for i in range(10):
        print(i)

if __name__ == '__main__':
    p = multiprocessing.Pool(5)
    p.map(function, )
产生错误:
TypeError:map()缺少1个必需的位置参数:“iterable”

这个函数不需要任何输入,所以我不希望人为地强迫它。还是多处理需要一些可移植的

下面的代码不返回/打印任何内容。为什么?

import multiprocessing
def function():
    for i in range(10):
        print(i)

if __name__ == '__main__':
    p = multiprocessing.Pool(5)
    p.map(function, ())

如果没有要传入的参数,则不必使用
map
。您只需使用:


如果您仅尝试执行少量任务,出于所述原因,最好使用
过程

提供了一个关于
Process()
使用的优秀教程,我觉得这很有帮助。下面是教程中使用
函数()的一个示例


... <代码>映射需要一个iterable来将函数映射到。。。如果这不是您想要的,您不必使用
map
,但这只需调用函数一次。池的目的是同时运行多个副本,不是吗?
import multiprocessing


def function():
    for i in range(10):
        print(i)

if __name__ == '__main__':
    p = multiprocessing.Pool(5)
    p.apply(function)
import multiprocessing
def function():
    for i in range(10):
        print(i)

if __name__ == '__main__':
    jobs = []
    for i in range(5):
        p = multiprocessing.Process(target=function)
        jobs.append(p)
        p.start()