有人遇到过 NanoHttpd 泄漏线程的问题吗?
问题是库为每个传入请求创建一个新线程,当我看到这些请求的响应时,运行请求处理的内部线程从未完成。这导致它最终有数百个泄漏的线程和应用程序崩溃。
我的代码非常基本和简单。我只是将 NanoHTTPD 子类化并覆盖 serve() 方法。
我已经调试了 lib 本身,它在 NanoHTTPD 类中永远循环在以下代码中:
while (!finalAccept.isClosed()) {
session.execute();
}
有什么建议么?
更新: 原来这是连接到客户端应用程序的边缘案例,该客户端应用程序向我的启动 http 服务器的应用程序发出请求。当我从 Chrome 或 curl 发出请求时,它不会泄漏任何线程。