Unirest螺纹泄漏

时间:2019-12-12 16:34:30

标签: java multithreading unirest

我的Web应用程序似乎内存不足,我认为这是由于线程泄漏引起的。似乎线程一直处于等待状态,并且越来越大,直到内存达到堆大小的顶部为止。空闲且不使用Web应用程序时,Web应用程序的本地Tomcat服务器上的线程大小增加。我对线程泄漏没有很好的了解,但是我敢肯定线程将被释放以释放分配的内存。

我进行了一个线程转储,其中许多线程正在com.mashape.unirest.http.utils.SyncIdleConnectionMonitorThread上等待,如下所示。

"Thread-124" - Thread t@378
java.lang.Thread.State: TIMED_WAITING
at java.lang.Object.wait(Native Method)
- waiting on <44c53e01> (a com.mashape.unirest.http.utils.SyncIdleConnectionMonitorThread)
at com.mashape.unirest.http.utils.SyncIdleConnectionMonitorThread.run(SyncIdleConnectionMonitorThread.java:22)

Locked ownable synchronizers:
- None

"Thread-122" - Thread t@371
java.lang.Thread.State: TIMED_WAITING
at java.lang.Object.wait(Native Method)
- waiting on <3212c7ae> (a com.mashape.unirest.http.utils.SyncIdleConnectionMonitorThread)
at com.mashape.unirest.http.utils.SyncIdleConnectionMonitorThread.run(SyncIdleConnectionMonitorThread.java:22)

Locked ownable synchronizers:
- None

任何解决此问题的实用技巧,将不胜感激。

1 个答案:

答案 0 :(得分:1)

这似乎是mashape Unirest中的一个错误,如果您创建多个unirest实例,但它不会关闭线程。

我已经开始使用konghq版本的unirest,它已经解决了问题。

可以在这里找到:https://mvnrepository.com/artifact/com.konghq/unirest-java