python 中的线程编程

Yin*_*hao 2 python flask

最近我一直在练习用flask建立一个网站。现在我遇到一个问题。
有一个函数可以实现注册。代码是这样的:

    def 寄存器():
        ...
        一些判断
        ...
        如果属实:
        发送邮件()
        返回重定向(url_for('onepage'))

我的问题是:
执行sendmail()时,需要很多时间。因此用户必须等待一段时间才能获得“onepage”,大约4-5秒。这会带来不好的体验。我知道使用线程可以让这两个函数彼此独立,但是我学习编程的时间很短,所以我没有线程编程的经验,有人可以为我提供一些关于这个问题的想法或代码示例吗?

Evp*_*pok 5

你想要的是threading而不是低级的thread(在Python 3中已重命名为_thread)。对于如此简单的情况,不需要子类化threading.Thread,因此您只需替换sendmail()为:

threading.Thread(target=sendmail).start()
Run Code Online (Sandbox Code Playgroud)

后:

import threading
Run Code Online (Sandbox Code Playgroud)