如果p=name=x27__主&';用python?

如果p=name=x27__主&';用python?,python,flask,python-multiprocessing,Python,Flask,Python Multiprocessing,我想在python中使用多处理来并行运行大约10个函数。 但在每一个例子中,我都看到了一个进程的生成,它只在ifname=“main”内部完成。我在python代码中使用FlaskAPI,因此必须调用app.run()并从中调用main()。因此,我的疑问是,我是否可以在main()中而不是在ifname中为多处理使用而进行进程剥离 这是我的代码的最低版本 app= Flask(__name__,template_folder='templates', static_folder='static

我想在python中使用多处理来并行运行大约10个函数。 但在每一个例子中,我都看到了一个进程的生成,它只在ifname=“main”内部完成。我在python代码中使用FlaskAPI,因此必须调用app.run()并从中调用main()。因此,我的疑问是,我是否可以在main()中而不是在ifname中为多处理使用而进行进程剥离

这是我的代码的最低版本

app= Flask(__name__,template_folder='templates', static_folder='static')
@app.route('/')
def index():
     return render_template('firstpage.html')
@app.route('/', methods=['POST'])
def getvalue():
    #some basic declarations
    main()
    flask.jsonify({'html': filename})

def main():
    start_time = time.time()
    createDirectory("Myapp")
    p1 = Process(target=func1(mycol1,mycol2))
    p1.start()
    p2 = Process(target=func2(mycol3,mycol4))
    p2.start()
    p3 = Process(target=func3(mycol5,mycol6))
    p3.start()
    p4 = Process(target=func4(mycol7,mycol8))
    p4.start()
    p1.join()
    p2.join()
    p3.join()
    p4.join()
    print("--- %s seconds ---" % (time.time() - start_time))

if __name__ == "__main__":
    app.run(debug=True)

我有10个这样的函数。任何关于改进代码或方法的建议都会很有帮助。

是的,您可以在任何地方调用Process(),您想在哪里调用不同的流程或并行调用不同的函数?两者都是不同的东西。如果要并行调用函数,请使用线程,否则使用进程。注意:不要每次生成进程/线程时都调用
app.run()
。请创建并发布一个!非常感谢。是的,我试过了。但在执行时间上没有区别。我的意思是执行时间实际上比没有多重处理的代码的执行时间要长。真奇怪。我不知道我在哪里犯了错误。您的代码为每个请求创建了四个进程,这对于API服务器来说通常不是一个好的实践,因为创建进程是一项繁重的任务。您可以选择一些选项来代替创建流程,但这取决于您想要实现的目标。因此,您应该解释为什么考虑在代码中使用多进程。也许这个问题是这样的。是的,你可以在任何地方调用Process(),你想调用不同的进程还是并行调用不同的函数?两者都是不同的东西。如果要并行调用函数,请使用线程,否则使用进程。注意:不要每次生成进程/线程时都调用
app.run()
。请创建并发布一个!非常感谢。是的,我试过了。但在执行时间上没有区别。我的意思是执行时间实际上比没有多重处理的代码的执行时间要长。真奇怪。我不知道我在哪里犯了错误。您的代码为每个请求创建了四个进程,这对于API服务器来说通常不是一个好的实践,因为创建进程是一项繁重的任务。您可以选择一些选项来代替创建流程,但这取决于您想要实现的目标。因此,您应该解释为什么考虑在代码中使用多进程。也许这个问题是。