Python twisted.web2和spawining线程用于同步代码?

Python twisted.web2和spawining线程用于同步代码?,python,multithreading,twisted,Python,Multithreading,Twisted,因此,我正在使用TwistedWeb2框架编写一个python web应用程序。我需要使用一个没有异步代码的库(具体来说是SQLAlchemy)。生成一个线程来处理请求,从数据库中获取任何数据,然后返回响应,这是否不好?我担心如果有大量的请求,那么会启动太多线程,服务器会被淹没。twisted中是否内置了防止这种情况发生的功能(例如请求节流)?请参阅,特别是,它允许您控制最多有多少线程处于活动状态。每个请求生成一个新线程肯定是一个差劲的主意 @Pschcf,根据底层DB API适配器的线程安全特

因此,我正在使用TwistedWeb2框架编写一个python web应用程序。我需要使用一个没有异步代码的库(具体来说是SQLAlchemy)。生成一个线程来处理请求,从数据库中获取任何数据,然后返回响应,这是否不好?我担心如果有大量的请求,那么会启动太多线程,服务器会被淹没。twisted中是否内置了防止这种情况发生的功能(例如请求节流)?

请参阅,特别是,它允许您控制最多有多少线程处于活动状态。每个请求生成一个新线程肯定是一个差劲的主意

@Pschcf,根据底层DB API适配器的线程安全特性,可能值得也可能不值得只为DB工作专用一个小线程池(事实上,它是通过SQLAlchemy或其他ORM实现的,就性能调优而言,不如底层DB引擎和适配器的性质重要)。您应该尽量避免使用Twisted Web2,而应该使用Twisted Web。@Jean-Paul Calderone为什么会这样?请参阅