Flask分别使用Singleton和App Factory方式创建db的疑问

使用Singleton方式创建db时:
app = Flask(name)
db = SQLAlchemy(app)
在后台使用多线程操作数据库没有问题发生,但使用App Factory方式创建时:
db = SQLAlchemy()
db.init_app(app)
在后台不使用多线程操作数据库是正常的,但使用多线程操作数据库时提示错误:
application not registered on db instance and no application
请问是什么原因,怎么解决呢?

使用 App Factory 时具体的代码是什么样的?项目结构呢?