java - 如何解决线程泄漏问题?
问题描述
目前我有一个应用程序遭受严重的线程泄漏,但我无法根据堆栈找到线程的来源。我该如何解决这个问题?线程栈是这样的:
"OkHttp ConnectionPool" #1759 daemon prio=5 os_prio=0 tid=0x00007f5fc440f000 nid=0x34ab0 in Object.wait() [0x00007f5eef0ef000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000007b233c660> (a okhttp3.ConnectionPool)
at java.lang.Object.wait(Object.java:460)
at okhttp3.ConnectionPool$1.run(ConnectionPool.java:67)
- locked <0x00000007b233c660> (a okhttp3.ConnectionPool)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
解决方案
推荐阅读
- javascript - 为什么我的 Firestore 数据是“useruid”而不是实际的 uid?
- visual-studio-code - 如何删除降价大纲中的井号“#”?
- sql - 格式化固定宽度字段 SQL Server
- reactjs - 警告:测试中对 App 的更新未包含在酶和钩子中的 act(...) 中
- java - 有没有办法使用 Spring JPA/Hibernate 将查询的 1 列映射到集合
- javascript - 循环遍历多个对象数组,以查找与 Javascript 中的多个数组匹配的项目
- nim-lang - 为什么我不能将 => 应用于 void 函数?
- scala - 如何将 RDD 数组字符串转换为数据帧
- python - 找出我的网络服务器不可用的原因
- elasticsearch - Elasticsearch 关联精确匹配项