我最近在Flask上对自己的网站进行了并行线程操作。 因此,尽管我将尽我所能解释这件事,但我完全理解您的困惑。
创建并行操作时,最好使用多线程。 基本上,多线程是指在CPU上拆分操作并同时进行操作。 尽管这必须由CPU支持,但今天大多数都支持多线程。
无论如何,与应用程序。 通过使用主线程作为内存处理程序,我初始化了Flask Application类以在所有线程之间共享数据。 之后,我创建了页面。 然后在初始化“ if语句” (if __name__ == '__main__') -在其他语言中称为驱动程序类。 我初始化并启动线程以完成应用程序的某些部分。
注意:Flask不允许在不在主线程上时执行调试模式。 基本上意味着您在调试应用程序时不能在Flask Apps上使用多线程,这没问题。 VSCode具有出色的输出控制台,可为我提供足够的信息来找出应用程序中的问题。 虽然...有时发现线程错误有时会很痛苦,但最好在调试时注意步骤。
另一件事是,您仍然可以在Flask上操作线程功能。 我喜欢在我制作的任何Flask应用程序上使用它,因为它可以为客户端提供更好的连接。 例如,线程被禁用; 客户端连接并支撑主线程,该主线程将保留主线程一毫秒,然后释放它。 启用线程; 允许客户端打开和释放多个请求。 而不是所有客户端通过一个线程进行管道传输。
为什么这很重要? 好吧,如果客户端运行的繁重脚本必须在本地主机上执行操作,则该页面的请求查询将花费大量时间。 作为回报,使客户端拥有该主线程管道,因此没有其他人可以连接。
针对您的问题的我的代码:
import threading
from fl