我是一名有益的助手,可以为您进行翻译。
我有一个程序,我希望可以并行运行其中的某个函数来处理多个参数。
该程序的格式如下:
import statements
def function1():
do something
def function2()
do something
def main():
function1()
我在网上找到了一些关于如何使用multiprocessing
库的例子,比如下面的通用模板:
import multiprocessing
def worker(num):
print 'Worker:', num
return
if __name__ == '__main__':
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,))
p.start()
据我所知,
worker()
函数是用于并行执行的。但我不确定在何处或如何使用代码中的 (if __name__ == '__main__':
) 块。目前,这个块在我的
main()
中。运行程序时,我没有多次执行 worker 函数,而是多次执行我的主函数。那么,正确的放置位置在哪里呢?应该把 (
if __name__ == '__main__':
) 块放在程序的最外层,而不是放在任何函数内部。
multiprocessing
的调用)放在main
函数中。然后,在if __name__ == '__main__'
内部调用main
。 - inspectorG4dgetmain()
函数,所以我们无法猜测为什么它会被调用。但是如果你按照你第二次发布的模板进行编写,你的代码将能够正常工作。 - Tim Peters