DatagramSocket.receive无限阻塞,占用线程,导致一段时间过后线程全部被占用

qq_31191349 2016-09-14 03:04:16
在项目中遇到一个问题,同一套程序,在其他机器上能够正常运行,但是在某台特定的机器上发生了这种情况,查看dump文件,线程全卡在了这个地方,soTimeout有设置3秒,想请教一下各位遇到过这种情况吗,该怎么解决
"pool-1-thread-23-FastReceiver" prio=10 tid=0x000000004dfd9000 nid=0x639c runnable [0x0000000059499000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainDatagramSocketImpl.receive0(Native Method)
- locked <0x00000000ff8600b0> (a java.net.PlainDatagramSocketImpl)
at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:145)
- locked <0x00000000ff8600b0> (a java.net.PlainDatagramSocketImpl)
at java.net.DatagramSocket.receive(DatagramSocket.java:725)
- locked <0x00000000f432adb0> (a java.net.DatagramPacket)
- locked <0x00000000ff860100> (a java.net.DatagramSocket)
at org.opennms.protocols.snmp.SnmpPortal$Receiver$1.run(SnmpPortal.java:467)
at java.lang.Thread.run(Thread.java:662)
...全文
637 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
NewMoons 2016-09-14
  • 打赏
  • 举报
回复
1、大神表示你提供的信息太少,无法解决。 2、象你提出的这种非常项目化的问题在这里是很难得到答案的,一般很难一两句话能讲明白的,需要深度剖析你们项目源代码甚至要debug才能解决。所以个人建议你还是找身边的高手直接在服务器上调试解决吧。
qq_31191349 2016-09-14
  • 打赏
  • 举报
回复
大神何在!!

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧