如何在python中从另一个定义启动线程并从另一个定义停止线程?

时间:2019-04-10 09:22:30

标签: python flask

当前行为是,每当Question端点来自网页时,t1线程和t2线程将运行,但是我希望行为在每当done端点被调用时,两个线程都应停止 两者的定义是不同的。 我该怎么办?

@app.route('/Question')
def Question():
    t1 = threading.Thread(target=demoTask,args=())
    t2 = threading.Thread(target=demoTask1,args=())
    t1.start()
    t2.start()
    return render_template('questions.html')

@app.route('/done')
def done():
     return render_template('done.html')

1 个答案:

答案 0 :(得分:0)

我找到了答案。 我们可以在python中定义之外创建线程。 我们可以从任何定义开始,也可以从python中的任何定义停止。 这对我有用。

t1 = threading.Thread(target=demoTask,args=())
t2 = threading.Thread(target=demoTask1,args=())
t3 = threading.Thread(target=demoTask2,args=())

@app.route('/instructions')
def instructions():
    return render_template('instructions.html')

@app.route('/thankyou')
def thankyou():
    return render_template('thankyou.html')

@app.route('/Question')
def Question():
    t1.start()
    t2.start()
    return render_template('questions.html')

@app.route('/done')
def done():

    t3.start()
    return render_template('done.html')