【发布时间】:2010-06-08 16:35:23
【问题描述】:
我在 tomcat 下运行一个线程,它创建一个 HttpUrlConnection 并通过 BufferedInputStream 读取它。
在获取某些 url 的数据后,它会停止。我得到了进程的 jstack,它说 HttpUrlConnection 被锁定并且 BufferedInputStream 也被锁定。
"http-8080-1" daemon prio=10 tid=0x08683400 nid=0x79c9 runnable [0x8f618000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
- locked <0x956ef8c0> (a java.io.BufferedInputStream)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1072)
- locked <0x956ef910> (a sun.net.www.protocol.http.HttpURLConnection)
有人可以帮忙吗? 谢谢
【问题讨论】:
标签: java locking httpurlconnection