每个反应堆都在自己的线程中运行吗?

时间:2019-09-07 14:51:41

标签: python multithreading twisted reactor resource-leak

分析扭曲的应用程序,发现twisted/application/app.py:startReactor被调用了496次。除此之外,我还看到线程泄漏:该应用创建了约500个线程,其中大多数在FUTEX_WAIT_PRIVATE中处于空闲状态。在此配置文件中,运行了简单的负载测试:〜1rps。

这是否意味着代码reactor.run()中的某处正在泄漏?我应该从哪里开始挖掘?

1 个答案:

答案 0 :(得分:1)

通常,不会。 reactor.run不启动线程。但是,如果您有一个启动496个反应堆的应用程序,那么 it 可能会启动运行每个反应堆的线程。